Tag: angularjs

总结数组中的属性值的更好方法(使用Angularjs)

这些天我开始与Angularjs(真棒:D)合作,我发现了下一个问题: 我有这样的东西: $scope.traveler = [ { description: 'Senior', Amount: 50}, { description: 'Senior', Amount: 50}, { description: 'Adult', Amount: 75}, { description: 'Child', Amount: 35}, { description: 'Infant', Amount: 25 }, ]; 现在有一个总数量这个数组我正在做这样的事情: $scope.totalAmount = function(){ var total = 0; for (var i = 0; i < $scope.traveler.length; i++) { total = total + $scope.traveler[i].Amount; […]

AngularJS:asynchronous初始化filter

我在尝试使用asynchronous数据初始化filter时遇到了问题。 filter非常简单,它需要将path转换为名称,但是为此需要一个对应数组,我需要从服务器获取数据。 在返回函数之前,我可以在filter定义中做些事情,但是asynchronous方面阻止了这一点 angular.module('angularApp'). filter('pathToName', function(Service){ // Do some things here return function(input){ return input+'!' } } 使用承诺可能是可行的,但我没有任何清楚的理解如何angular度加载filter。 这篇文章解释了如何通过服务实现这样的魔法,但是对于filter也可以这么做吗? 如果任何人对如何翻译这些path有更好的想法,那么我都是耳朵。 编辑: 我尝试着承诺,但是有些事情是不对的,我看不出什么: angular.module('angularApp').filter('pathToName', function($q, Service){ var deferred = $q.defer(); var promise = deferred.promise; Service.getCorresp().then(function(success){ deferred.resolve(success.data); }, function(error){ deferred.reject(); }); return function(input){ return promise.then( function(corresp){ if(corresp.hasOwnProperty(input)) return corresp[input]; else return input; } ) }; }); 我并不是很有承诺的家庭,是使用它们的正确方法吗?

AngularJS:$ q – >事物的延期API顺序(生命周期)和谁调用摘要?

$ q服务在angularjs中非常强大,并且使asynchronous代码更轻松。 我是新angular度,但使用延期的API对我来说并不是很新鲜。 我必须说,我完全确定How to use文档的一部分+有非常有用的链接,在文档+我检出了源。 我的问题是更多关于延迟和承诺的API对象的angular度下的引擎盖部分。 它们生命周期中的确切阶段是什么?它们如何与rootScope.Scope (s)交互。 我的假设是,当承诺解决 – 它调用摘要循环? 是/否? 能否详细回答以下几个方面的具体问题: 每个描述的步骤/阶段发生的事情的顺序是什么? 当新的延迟对象与一个新的承诺实例创build – 谁知道它/是否重要? 承诺对象解决时,范围如何更新? 是否必须在callback中手动更新它,否则将自动调用摘要并更新rootScope, 如同在此处声明的那样 提及至less一种从promisecallback中更新范围的方法 我假设有很多其他有用的方面,随时提供他们。 我会欣赏并接受最详细的答案,尽可能多地引用文档或来源(我自己找不到)。 我找不到任何以前的讨论这个话题,如果已经有 – 请张贴链接。 ps:对任何一个有帮助的人都可以通过为这个问题build议一个更好的标题,请在评论中添加您的build议。 干杯!

如何用多个参数在angularjs中发送POST?

我想用angularjs HTTP post服务发送多个参数。 这里是客户端代码: $http.post("http://localhost:53263/api/Products/", [$scope.product, $scope.product2]). then(function (data, status, headers, config) { alert("success") }, function (data, status, headers, config) { alert("error") }); 这里是服务器端代码: // POST api/<controller> public void Post([FromBody]Product product,[FromBody]Product product2) { var productRepository = new ProductRepository(); var newProduct = productRepository.Save(product); } 但是,当我发布post时,我得到错误。 任何想法我做错了什么?

AngularJS没有检测到Access-Control-Allow-Origin头文件?

我在本地虚拟主机( http://foo.app:8000 )上运行一个angular度的应用程序。 它使用$http.post向另一个本地VirtualHost( http://bar.app:8000 )发出请求。 $http.post('http://bar.app:8000/mobile/reply', reply, {withCredentials: true}); 在Chrome开发者工具的networking选项卡中,我当然会看到OPTIONS请求,响应中包含标题: Access-Control-Allow-Origin: http://foo.app:8000 但是,POST请求被取消,出现以下错误: 请求的资源上没有“Access-Control-Allow-Origin”标题。 Origin'http: //foo.app:8000 '因此不被允许访问。 有没有人经历过这个? Access-Control-Allow-Origin头部非常清楚地包含在OPTIONS请求的响应中,所以我不能为了让我知道为什么POST正在执行头部丢失。 Access-Control-Allow-Credentials也设置为true 。

将angular度范围variables传递给Javascript

我有一个angular度范围variablesstreetName。 <script type="text/javascript"> angular.module('addApp').controller('add', ['$scope',function($scope) { $scope.streetName = "Bonita Ln"; }]); </script> 如何访问此控制器(添加)范围下定义的javascript中的streetName。 请帮忙。 <div ng-app="addApp" ng-controller="add"> StreetName: {{streetName}} <script type="text/javascript"> //here i need to access the value of streetName… </script> </div>

带有禁用行的ng选项

是否有可能使用ng-options ,它会根据条件渲染到禁用的行? 这个: <select ng-options="c.name group by c.shade for c in colors"> 也许可以变成这样的东西: <select ng-options="c.name group by c.shade for c in colors | disabled(c.shade)"> 并让我们说,通过一个filter,可能会返回disabled='disabled'的所有颜色的阴影=“黑暗” <select> <optgroup label="dark"> <option value="0" disabled="disabled">black</option> <option value="2" disabled="disabled">red</option> <option value="3" disabled="disabled">blue</option> </optgroup> <optgroup label="light"> <option value="1">white</option> <option value="4">yellow</option> </optgroup> </select>

AngularJSdynamic表单字段validation

我想validation从后端端点给我的一些表单域… 所以基本上, input元素是在ng-repeat内dynamic创build的。 因此, input属性也是dynamic添加的,例如type , name等等。 但是,因为name属性是dynamic添加的,所以当我尝试validation它时,像这样,例如: myForm.elName.$valid 它不返回任何东西,因为在这一点上,它不知道elName是什么。 我创build了一个jsFiddle来演示这个问题: http : //jsfiddle.net/peduarte/HB7LU/1889/ 任何帮助或build议将不胜感激! FANX。 编辑: 我一直在引用这个AWESOME文档: http ://docs.angularjs.org/api/ng.directive: input.email

ngRepeat按深度属性过滤

如果我有一个复杂的对象作为属性值的对象,我怎么能过滤一个嵌套的属性? 这可以用OOB ng-repeatfilter来完成吗? 数据 { Name: 'John Smith', Manager: { id: 123, Name: 'Bill Lumburg' } } ngRepeat <li ng-repeat="e in emps | filter:Manager.Name">{{ e.Name }}</li>

jasmine:asynchronouscallback未在由jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时

我有一个叫做requestNotificationChannel的angular度服务: app.factory("requestNotificationChannel", function($rootScope) { var _DELETE_MESSAGE_ = "_DELETE_MESSAGE_"; function deleteMessage(id, index) { $rootScope.$broadcast(_DELETE_MESSAGE_, { id: id, index: index }); }; return { deleteMessage: deleteMessage }; }); 我正在尝试使用jasmineunit testing此服务: "use strict"; describe("Request Notification Channel", function() { var requestNotificationChannel, rootScope, scope; beforeEach(function(_requestNotificationChannel_) { module("messageAppModule"); inject(function($injector, _requestNotificationChannel_) { rootScope = $injector.get("$rootScope"); scope = rootScope.$new(); requestNotificationChannel = _requestNotificationChannel_; }) […]