我有一个表单指令,使用隔离范围指定的callback属性: scope: { callback: '&' } 它位于ng-repeat内部,所以我传递的expression式包含作为callback函数参数的对象的id : <directive ng-repeat = "item in stuff" callback = "callback(item.id)"/> 当我完成了指令,它从它的控制器函数中调用$scope.callback() 。 对于大多数情况下,这是好的,这是我想要做的,但有时我想从directive本身添加另一个参数。 是否有一个angular度expression式可以允许: $scope.callback(arg2) ,导致callback被调用arguments = [item.id, arg2] ? 如果不是的话,最简单的方法是什么? 我发现这个工作: <directive ng-repeat = "item in stuff" callback = "callback" callback-arg="item.id"/> 同 scope { callback: '=', callbackArg: '=' } 和指令调用 $scope.callback.apply(null, [$scope.callbackArg].concat([arg2, arg3]) ); 但我不认为它特别整齐,而且涉及到在隔离范围内增加额外的东西。 有没有更好的办法? 这里的游戏机操场 […]
我怎么知道我正在使用哪个版本的Angular? 我努力了: angular –version angular –v angular -version angular -v 但得到-bash: angular: command not found 我知道yeoman –version ,我正在使用0.9.6 但是,如何获得angularjs版本?
我通过使用ng-options来挂载一个下拉菜单,挂钩到一个控制器,然后调用一个服务。 不幸的是,进来的数据是一团糟,我需要能够按字母顺序sorting。 你认为像$.sortBy这样做,但不幸的是,它没有做杰克。 我知道我可以通过JavaScript与辅助方法function asc(a,b)或类似的东西,但我拒绝相信有没有更干净的方式做这个,我不想用辅助方法膨胀控制器。 原则上这是基本的东西,所以我不明白为什么AngularJS没有这个。 有没有办法像$orderBy('asc') ? 例: <select ng-option="items in item.$orderBy('asc')"></select> 在orderBy有选项是非常有用的,所以你可以做任何你想做的事情,每当你试图对数据进行sorting的时候。
我是AngularJS的新手,我有一个性能问题,我似乎无法解决。 我有即时search,但它有点滞后,因为它开始search每个keyup()。 JS: var App = angular.module('App', []); App.controller('DisplayController', function($scope, $http) { $http.get('data.json').then(function(result){ $scope.entries = result.data; }); }); HTML: <input id="searchText" type="search" placeholder="live search…" ng-model="searchText" /> <div class="entry" ng-repeat="entry in entries | filter:searchText"> <span>{{entry.content}}</span> </div> JSON数据甚至不是那么大,只有300KB,我认为我需要做的是在search上延迟1秒,等待用户完成input,而不是在每个按键上执行操作。 AngularJS在内部完成这项工作,在阅读了这里的文档和其他主题之后,我找不到具体的答案。 如果我能延迟即时search,我将不胜感激。 谢谢。
我有一个有数千行的大数据集,每个大约有10个字段,大约2MB的数据。 我需要在浏览器中显示它。 最直接的方法(获取数据,把它放到$scope ,让ng-repeat=""完成它的工作)可以正常工作,但是当它开始向DOM中插入节点时,它会冻结浏览器大约半分钟。 我应该如何解决这个问题? 一种select是将行追加到$scope然后等待ngRepeat完成将一个块插入DOM,然后再移动到下一个块。 但AFAIK ngRepeat在完成“重复”时不会报告,所以会很难看。 其他select是将服务器上的数据分成多个页面,并在多个请求中获取它们,但这更糟糕。 我通过Angular文档查找类似于ng-repeat="data in dataset" ng-repeat-steps="500" ,但没有发现任何内容。 我对angular度方面相当陌生,所以我可能完全错过了这一点。 这方面的最佳做法是什么?
我有一组<li>元素。 <ul> <li ng-class="{current: selected == 100}"> <a href ng:click="selected=100">ABC</a> </li> <li ng-class="{current: selected == 101}"> <a href ng:click="selected=101">DEF</a> </li> <li ng-class="{current: selected == $index }" ng-repeat="x in [4,5,6,7]"> <a href ng:click="selected=$index">A{{$index}}</a> </li> </ul> 当用户点击上面的地址元素之一,然后它应该设置选定的值,并显示下面的一个<DIV>元素: <div ng:show="selected == 100">100</div> <div ng:show="selected == 101">101</div> <div ng-repeat="x in [4,5,6,7]" ng:show="selected == $index">{{ $index }}</div> 这适用于前两种情况。 当用户单击ABC时,第一个<DIV>显示100,并将颜色更改为红色。 当点击DEF时,101显示,DEF变为红色。 […]
我是一个Web开发人员,我开始大规模地开发Web应用程序,但是我不确定使用什么框架。 我正在考虑Angular.js,但我也考虑过Backbone.js。 对你来说,最好的框架是什么? 或者至less有两个看比较的performance。
有什么区别: new Promise(function(res, rej) { res("aaa"); }) .then(function(result) { return "bbb"; }) .then(function(result) { console.log(result); }); 和这个: new Promise(function(res, rej) { res("aaa"); }) .then(function(result) { return Promise.resolve("bbb"); }) .then(function(result) { console.log(result); }); 我问,因为我得到不同的行为使用Angular和$ http服务链接.then()。 因此,上面的例子有点太多了。
在AngularJS的领导者Igor Minar的这篇文章中 , MVC vs MVVM vs MVP 。 这是一个多么有争议的话题,许多开发人员可以花费数小时来讨论和争论。 多年来,AngularJS更接近于MVC(或者更确切地说是它的一个客户端变体),但是随着时间的推移以及许多重构和API改进,现在更接近于MVVM – $ scope对象可以被视为ViewModel由一个我们称之为Controller的函数来装饰。 能够将框架分类并将其放入MV *桶中的一个具有一些优点。 它可以帮助开发人员更轻松地创build一个代表正在使用框架构build的应用程序的心智模型。 它也可以帮助build立开发人员使用的术语。 话虽如此,我宁愿看开发人员build立devise良好,并关注分离的踢屁股的应用程序,而不是看他们浪费时间争论MV *废话。 为此,我在此声明AngularJS是MVW框架 – Model-View-Whatever 。 无论什么地方代表着“ 无论你为什么工作 ”。 Angular为您提供了很大的灵活性,可以很好地将表示逻辑从业务逻辑和表示状态中分离出来。 请使用它来提高您的工作效率和应用程序的可维护性,而不是对一天结束时的事情进行激烈的讨论。 有没有在客户端应用程序中实现AngularJS MVW(Model-View-Whatever)devise模式的build议或指导原则?
我收到以下错误: { [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bson: Failed to load c++ bson extension, using pure JS version 这里是我的版本细节: 操作系统:Windows 7 MongoDB:2.6.5 节点:0.12.0 我在这里发布这个问题之前已经尝试了这些东西。 我去了\ node-modules \ mongoose \ node-modules \ mongodb \ node-modules \ bson文件夹,并且在binding-gyp文件中从'include_dirs'改变了:[' 运行这个命令npm install -g node-gyp 我已经将package.json中的mongoose版本更新到3.8.21 没有任何工作 请build议