如果我想在用户点击“保存”或“提交”button的某个时间段期间禁用表单控件(或者至less使其不可用于用户交互),那么什么是最好的(和正确的)方法是两难的和通过电线传输的数据。 我不想使用JQuery(这是邪恶的!),并查询所有元素作为数组(通过类或属性标记)我到目前为止的想法是: 用cm-form-control自定义指令标记所有的元素,它将订阅2个通知:“数据发送”和“数据处理”。 然后自定义代码负责推送第二个通知或解决承诺。 使用promiseTracker (不幸的是!)强制产生非常愚蠢的代码,如ng-show="loadingTracker.active()" 。 很明显,并不是所有的元素都有ng-disabled ,我不想用ng-hide/show来避免“跳舞”button。 咬一口子,仍然使用JQuery 有没有更好的主意? 提前致谢! 更新: fieldset的想法工作。 这是一个简单的小提琴那些仍然想要做同样的http://jsfiddle.net/YoMan78/pnQFQ/13/ HTML: <div ng-app="myApp"> <ng-form ng-controller="myCtrl"> Saving: {{isSaving}} <fieldset ng-disabled="isSaving"> <input type="text" ng-model="btnVal"/> <input type="button" ng-model="btnVal" value="{{btnVal}}"/> <button ng-click="save()">Save Me Maybe</button> </fieldset> </ng-form> </div> 和JS: var angModule = angular.module("myApp", []); angModule.controller("myCtrl", function ($scope, $filter, $window, $timeout) { $scope.isSaving = undefined; $scope.btnVal […]
我可以以某种方式在angularjsexpression式中使用if-then-else构造(ternary-operator),例如我有函数$ scope.isExists(item)必须返回bool值。 我想要这样的东西, <div ng-repeater="item in items"> <div>{{item.description}}</div> <div>{{isExists(item) ? 'available' : 'oh no, you don't have it'}}</div> </div> 我知道我可以使用返回string的函数,我很有趣的可能性,使用if-then-else构造到expression式中。 谢谢。
如果我有以下控制器: function parent($scope, service) { $scope.a = 'foo'; $scope.save = function() { service.save({ a: $scope.a, b: $scope.b }); } } function child($scope) { $scope.b = 'bar'; } 让parent读出child的正确方法是什么? 如果有必要在parent定义b ,假设b是一个描述与child有关的属性而不是parent的属性,那么这不会使它在语义上不正确吗? 更新:进一步思考,如果不止一个孩子有b它会为要检索的parent创build一个冲突。 我的问题仍然是,从parent获取b的正确方法是什么?
使用ui-router ,可以将$state或$stateParams注入到控制器中以访问URL中的参数。 但是,通过$stateParams访问参数只会暴露属于由访问它的控制器pipe理的状态的参数及其父状态,而$state.params包含所有参数,包括任何子状态中的参数。 给定以下代码,如果我们直接加载URL http://path/1/paramA/paramB ,这是控制器加载时的情况: $stateProvider.state('a', { url: 'path/:id/:anotherParam/', controller: 'ACtrl', }); $stateProvider.state('a.b', { url: '/:yetAnotherParam', controller: 'ABCtrl', }); module.controller('ACtrl', function($stateParams, $state) { $state.params; // has id, anotherParam, and yetAnotherParam $stateParams; // has id and anotherParam } module.controller('ABCtrl', function($stateParams, $state) { $state.params; // has id, anotherParam, and yetAnotherParam $stateParams; // has id, anotherParam, and […]
将“当前” $scope传递给AngularJS服务是正确的吗? 我在我有一个$服务的情况下,知道它只被一个控制器消耗,我想在$ service方法本身中引用控制器的作用域。 这在哲学上是正确的吗? 或者我最好把事件广播到$ rootScope,然后让我的控制器听取他们的意见?
我得到了一个在angularjs中的视图,我只是试图显示当前的date(格式)。 我认为像<span>{{Date.now() | date:'yyyy-MM-dd'}}</span> <span>{{Date.now() | date:'yyyy-MM-dd'}}</span>应显示当前date。
我应该使用量angular器还是Karma进行端到端testing? angular度种子使用量angular器/ Selenium WebDriver为E2E,但angular手机教程使用业力。 我读到,我应该使用Karma进行unit testing,使用E2E的量angular器(Protractor),这看起来很好,但是我想我会在这里请求其他开发者的意见。
我在AngularJS控制器中存储要呈现在HTML中的图像的源string,但是在Angular控制器被初始化之前,它会产生一个404。 这里是HTML: <div ng-controller="Cont"> <img src="{{imageSource}}"> </div> angular度控制器: var Cont = function($scope) { $scope.imageSource = '/tests.png'; } 而我得到的错误( %7D%7D对应于{{在模板中)。 GET https://localhost:9000/%7B%7BimageSource%7D%7D 404 (Not Found) 我怎样才能防止这种情况发生? 也就是说,只有在angular控制器初始化的时候才加载图像。
所以在这里没有什么新的,我只是想澄清,似乎无法find任何其他职位。 我正在重新创build一个新的资源,说: /books (POST) 与身体: { title: 'The Lion, the Witch and the Wardrobe', author: 'CS Lewis' } 我知道我应该返回一个201(创build)与新资源的位置标题: Location: /books/12345 我似乎无法回答自己的问题是服务器应该返回到正文中。 我经常做这种types的回应: { id: 12345, title: 'The Lion, the Witch and the Wardrobe', author: 'CS Lewis' } 我之所以这样做是因为几个原因: 我已经写了像angularjs前端框架的API。 在我的特殊情况下,我正在使用angular度资源,我经常只需要资源的id来定位它。 如果我没有在响应正文中返回id,我需要将它parsing出Location标头。 在所有书籍的GET中,我通常返回整个对象,而不仅仅是id。 从这个意义上说,我的客户端代码不必区分从哪里获得id(位置标题或正文)。 现在我现在真的处于这个灰色地带,但是大多数人都在说,返回整个资源是“坏”的做法。 但是,如果服务器更改/添加资源到资源呢? 它肯定会添加ID,但也可能会添加其他内容,如时间戳。 在我不返回整个资源的情况下,做一个POST真的比较好,返回id,然后让客户端执行一个GET来获得新的资源。
我在Windows 10上,节点版本5.6.0和Npm版本3.6.0。 试图在我的工作文件夹上安装angular-material和mdi。 npm install angular-material mdi给我以下错误信息: + – angular@1.5.0 + – UNMET PEER DEPENDENCY angular-animate@^1.5.0 + – UNMET PEER DEPENDENCY angular-aria@^1.5.0 + – angular-material@1.0.6 + – UNMET PEER DEPENDENCY angular-messages@^1.5.0` – mdi@1.4.57 npm WARN enoent ENOENT:没有这样的文件或目录,打开'C:\ Users \ xxxxx \ Desktop \ ngClassifieds \ package.json' npm WARN angular-material@1.0.6需要angular-animate@^1.5.0的同行,但没有安装。 npm WARN angular-material@1.0.6需要angular-aria@^1.5.0的同行,但没有安装。 npm WARN angular-material@1.0.6需要angular-messages@^1.5.0,但没有安装。 […]