我已经实现了一个REST / CRUD后端,以下面这篇文章为例: http : //coenraets.org/blog/2012/10/creating-a-rest-api-using-node-js-express-and-mongodb / 。 我有MongoDB在本地运行,我没有使用MongoLabs。 我已经遵循了使用ngResource和工厂模式的Google教程,并且我有查询(获取所有项目),获取项目(GET),创build项目(POST)以及删除项目(DELETE)。 我很难实现PUT后端API需要的方式 – 包含id(… / foo /)的URL,还包含更新的数据。 我有这样的代码来定义我的服务: angular.module('realmenServices', ['ngResource']). factory('RealMen', function($resource){ return $resource('http://localhost\\:3000/realmen/:entryId', {}, { query: {method:'GET', params:{entryId:''}, isArray:true}, post: {method:'POST'}, update: {method:'PUT'}, remove: {method:'DELETE'} }); 我从这个控制器代码调用方法: $scope.change = function() { RealMen.update({entryId: $scope.entryId}, function() { $location.path('/'); }); } 但是当我调用更新函数时,URL不包含ID值:它只是“/ realmen”,而不是“/ realmen / ID”。 我已经尝试了各种解决scheme,包括添加“RealMen.prototype.update”,但仍然无法获得entryId显示在URL上。 (它也看起来像我将不得不build立自己的DB字段值的JSON […]
如果一个单独的服务器上的图像不存在,我想显示一个默认的图像。 有没有一个angular度指令来完成这个?
我是新的与angularjs … 我阅读了文档,并完成了教程。 我也尝试了别的东西,事情开始对我有意义。 现在我想知道如何做一个安全的身份validation系统 。 简单的部分:没有代码,我将描述操作我的代码执行: 我有一个经典的forms:用户名和密码文本input。 用户填写表单,然后按ENTER键。 一个Ajax请求开始,响应是一个JSON告诉我像“好我知道你”或“我不知道你是谁”的东西。 我现在需要的是在应用程序的不同视图之间维护访问者的logging状态(或未logging)。 我在互联网上看到,为了实现这个目标,有人设置了一个variables($ scope.isLogged = true),其他人使用了cookie; 但JavaScriptvariables和cookie可以使用萤火虫或类似的开发工具轻松编辑。 最后是问题: 那么, 你有没有build议在angularjs应用程序中实现安全的身份validation系统?
我有一个对象的数组,我用一个ng-repeat来遍历它们,这很容易。 数组看起来像这样: $scope.steps = [ {companyName: true}, {businessType: true}, {physicalAddress: true} ]; 而我ng-repeat属性如下所示: <div ng-repeat="step in steps"> … </div> 在每次迭代中, step与预期的一样等于对象之一。 有无论如何访问step对象的键和值? 所以我可以做这样的事情: <div ng-repeat="(stepName, isComplete) in steps"> … </div> 其中stepName == 'companyName'和isComplete == true 。 我已经尝试做这个确切的事情,但stepName总是最终成为步骤对象的索引(这是有道理的)。 我只是试图找出是否有另一种方式来编写ng-repeat语法,以便我可以获得键和值。 感谢您的任何想法/build议。 非常感激。 PS。 我目前的工作是在我的控制器中执行此操作: $scope.stepNames = []; angular.forEach($scope.steps, function(isComplete, stepName){ $scope.stepNames.push({stepName: stepName, isComplete: isComplete}); }); 然后再重复一遍,但是在视图中完成这一切将是很好的
我有四个表头: $scope.headers = ["Header1", "Header2", "Header3", "Header4"]; 我希望能够通过点击标题来sorting我的表格。 所以如果我的桌子是这样的 H1 | H2 | H3 | H4 AHD etc…. BGC CFB DEA 我点击 H2 我的桌子现在看起来像这样: H1 | H2 | H3 | H4 DEA etc…. CFB BGC AHD 也就是说,每一列的内容都不会改变,但是通过点击我想要sorting的标题,这些行就会重新排列。 我的表的内容是由与Mojolicious完成的数据库调用创build的,并返回给浏览器 $scope.results = angular.fromJson(data); // This works for me so far 我拼凑在一起的代码的其余部分看起来像这样: <table class= "table table-striped table-hover"> <th […]
对不起,也许这是愚蠢的问题,但我还在学习。 我试图根据范围值使用不同的模板进行指令。 这是我到目前为止,我不知道为什么不工作http://jsbin.com/mibeyotu/1/edit Html元素: <data-type content-attr="test1"></data-type> 指示: var app = angular.module('myApp', []); app.directive('dataType', function ($compile) { var testTemplate1 = '<h1>Test1</h1>'; var testTemplate2 = '<h1>Test2</h1>'; var testTemplate3 = '<h1>Test3</h1>'; var getTemplate = function(contentType){ var template = ''; switch(contentType){ case 'test1': template = testTemplate1; break; case 'test2': template = testTemplate2; break; case 'test3': template = testTemplate3; break; […]
我需要使用关联数组作为使用AngularJS的select选项的数据源。 是否有可能使用这样的数组? { "key1": "val1", "key2": "val2", "key3": "val3", … } 并得到这样的东西: <select> <option value="key1">val1</option> <option value="key2">val2</option> <option value="key3">val3</option> … </select> 我阅读文档 ,但我不明白如何实现这一点。
我正在评估未来项目的angularjs。 我需要做的事情之一是通过select适当的“页面”无线电input来显示“频道”信息的不同页面。 此外,还可以从一组“页面集”无线电input中select页面button的范围。 下面的工作示例具有一组32个通道,其中通过“设置”和“页面”无线电input的组合来select可见的通道组,总共2 * 4页,每个通道4个通道。 <!doctype html> <html ng-app> <head> <script type="text/javascript" src="angular.js"></script> <script type="text/javascript"> function Channels($scope) { $scope.groupSize = 4; $scope.pageSet = 0; $scope.pageNumber = 0; $scope.channels = [ {"id": "Ch-001"}, {"id": "Ch-002"}, {"id": "Ch-003"}, {"id": "Ch-004"}, {"id": "Ch-005"}, {"id": "Ch-006"}, {"id": "Ch-007"}, {"id": "Ch-008"}, {"id": "Ch-009"}, {"id": "Ch-010"}, {"id": "Ch-011"}, {"id": "Ch-012"}, […]
我试过使用大写的filter,但它不工作。 我试过两种方法: <input type="text" ng-model="test" uppercase/> 和 <input type="text" ng-model="{{test | uppercase}}"/> 第二个触发一个javascript错误: 语法错误:令牌“testing”是意外的,期待[:] 我想要文本被强制为大写,因为用户在文本框中键入。 我怎样才能做到这一点?
数字串“5” var num_str = '5'; 我怎样才能parseInt并让下面的答案同时正确? {{num_str + 1}} // 6 {{num_str – 1}} // 4 parseInt不能用在Angularexpression式中, {{parseInt(num_str) – 1}} 数字filter不能做加减, {{num_str – 1 | number}} 如果有人提出有用的build议,我将非常感谢你