Questions tagged «angularjs»

用于有关开源JavaScript框架AngularJS(1.x)的问题。不要将此标签用于Angular 2或更高版本;而是使用[angular]标签。

11
使用jQuery设置输入值后更新Angular模型
我有一个简单的场景: 输入元素,其值由jQuery的val()方法更改。 我试图用jQuery设置的值更新角度模型。我试图编写一个简单的指令,但是它没有执行我想要的操作。 这是指令: var myApp = angular.module('myApp', []); myApp.directive('testChange', function() { return function(scope, element, attrs) { element.bind('change', function() { console.log('value changed'); }) } }) 这是jQuery部分: $(function(){ $('button').click(function(){ $('input').val('xxx'); }) }) 和html: <div ng-app="myApp"> <div ng-controller="MyCtrl"> <input test-change ng-model="foo" /> <span>{{foo}}</span> </div> </div> <button>clickme</button> 这是我尝试的小提琴:http : //jsfiddle.net/U3pVM/743/ 有人能指出我正确的方向吗?

2
为一个请求设置HTTP标头
我的应用程序中有一个需要基本身份验证的特定请求,因此我需要为该请求设置Authorization标头。我读过有关设置HTTP请求标头的信息,但据我所知,它将为该方法的所有请求设置标头。我的代码中有这样的内容: $http.defaults.headers.post.Authorization = "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="; 但我不希望我的每一个帖子请求都发送此标头。有什么方法可以仅为我想要的一个请求发送标头吗?还是我必须在请求后将其删除?

4
在AngularJS中按字母排序下拉列表
我通过使用ng-option填充了一个下拉列表,该下拉列表挂接到了依次调用服务的控制器上。不幸的是,输入的数据是一团糟,我需要能够按字母顺序对其进行排序。 您认为类似的事情$.sortBy可以做到,但不幸的是,它并没有成功。我知道我可以使用辅助方法function asc(a,b)或类似方法通过javascript对其进行排序,但我拒绝相信没有更干净的方法可以执行此操作,而且我不想使用辅助方法来夸大控制器。原则上,它是如此基本,所以我不理解为什么AngularJS没有这个。 有没有办法做类似的事情$orderBy('asc')? 例: <select ng-option="items in item.$orderBy('asc')"></select> 拥有选项将非常有用,orderBy这样您通常在尝试对数据进行排序时就可以做任何想做的事情。
158 angularjs 

7
AngularJS vs Angular [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 改善这个问题 几个月前,我决定学习Angular。当我进行一些改进并使用它创建一些应用程序时,我意识到Angular 2处于开发人员预览版中,因此要发布它只是时间问题。因为Angular 2不会与Angular 1兼容,并且有很多更改,所以问题是,继续使用Angular 1.x还是开始开发Angular 2更好? 这是事实,我们不必总是使用市场上的最新版本或最新语言,但是在这种情况下,该应用程序仍然很小,因此我可以毫无问题地进行更改。
158 angularjs  angular 

10
angular.element vs document.getElementById或带有旋转(忙碌)控件的jQuery选择器
我使用的是Spin控件的“ Angularized”版本,如此处所述:http : //blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/ 我对所示解决方案不满意的一件事是在服务中使用jQuery,该服务有效地将旋转控件附加到DOM元素。我更喜欢使用角度构造来访问元素。我还想避免将微调器需要附加到服务内的元素的ID进行“硬编码”,而应使用在服务(单个)中设置ID的指令,以便该服务的其他用户或服务本身不需要知道这一点。 我在为angular.element给我们提供什么而在同一个元素id给我们提供了什么document.getElementById方面挣扎。例如。这有效: var target = document.getElementById('appBusyIndicator'); 这些都不做: var target = angular.element('#appBusyIndicator'); var target = angular.element('appBusyIndicator'); 我显然正在做某事,应该是很明显的错误!有人可以帮忙吗? 假设我可以完成上述工作,那么尝试替换jQuery对元素的访问时也会遇到类似的问题:例如$(target).fadeIn('fast'); 有效 angular.element('#appBusyIndicator').fadeIn('fast')或angular.element('appBusyIndicator').fadeIn('fast')无效 有人可以给我指出一个很好的文档示例,该文档阐明了Angular“元素”和DOM元素的使用吗?Angular显然以其自身的属性,方法等“包装”了元素,但通常很难获得原始值。例如,如果我有一个<input type='number'>字段,并且当用户键入“-”(不带引号)时,我想访问ui中可见的原始内容,我什么也没得到,大概是因为“ type = number”表示Angular正在拒绝输入,即使它在UI中是可见的,我也想看到它,以便我可以对其进行测试并清除。 任何指针/答案表示赞赏。 谢谢。
157 jquery  angularjs 


30
找不到模块'../build/Release/bson']代码:'MODULE_NOT_FOUND'} js-bson:使用纯JS版本无法加载c ++ bson扩展名
我收到以下错误: { [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': [ '<!(node -e "require(\'nan\')")' ] 更改: 'include_dirs': ["<!(nodejs -p -e \"require('path').dirname(require.resolve('nan'))\")"] 跑这个命令 npm install -g node-gyp 我已经将猫鼬版本更新为3.8.21 package.json 没事。请建议

9
当输入验证失败时,AngularJS阻止表单提交
我正在使用带有一些客户端输入验证的angularjs编写一个简单的登录表单,以检查用户名和密码是否为空且长度不超过三个字符。请参见以下代码: <form name="loginform" novalidate ng-submit="login.submit()" class="css-form"> <fieldset> <div class="control-group input-prepend"> <span class="add-on"><i class="icon-user"></i></span> <input type="text" ng-model="login.username" name="username" required ng-minlength="3" placeholder="username" /> </div> <div class="control-group input-prepend"> <span class="add-on"><i class="icon-lock"></i></span> <input type="password" ng-model="login.password" name="password" required ng-minlength="3" placeholder="" /> </div> <div class="control-group"> <input class="btn" type="submit" value="Log in"> </div> </fieldset> </form> 和控制器: var controller …

10
如何从AngularJS作用域中的数组中删除项目?
简单的待办事项清单,但每个项目的清单页面上都有一个删除按钮: 相关模板HTML: <tr ng-repeat="person in persons"> <td>{{person.name}} - # {{person.id}}</td> <td>{{person.description}}</td> <td nowrap=nowrap> <a href="#!/edit"><i class="icon-edit"></i></a> <button ng-click="delete(person)"><i class="icon-minus-sign"></i></button> </td> </tr> 相关控制器方法: $scope.delete = function (person) { API.DeletePerson({ id: person.id }, function (success) { // I need some code here to pull the person from my scope. }); }; 我试着$scope.persons.pull(person)和$scope.persons.remove(person)。 …

10
Angular.js:'控制器作为语法'和$ watch
使用controller as语法时如何订阅属性更改? controller('TestCtrl', function ($scope) { this.name = 'Max'; this.changeName = function () { this.name = new Date(); } // not working $scope.$watch("name",function(value){ console.log(value) }); }); <div ng-controller="TestCtrl as test"> <input type="text" ng-model="test.name" /> <a ng-click="test.changeName()" href="#">Change Name</a> </div>

9
我可以在控制器中访问表格吗?
我目前正在使用以下内容。 $scope.$$childHead.customerForm[firstName], 以便: <form name="customerForm"> <input type="text" name="firstName" ng-model="data.customer.firstName" tabindex="1" ng-disabled="!data.editable" validationcustomer /> </form> 但这仅适用于Chrome。现在,我尝试了以下方法: $scope.editCustomerForm[firstName], 以便: <form name="customerForm" ng-model="editCustomerForm"> <input type="text" name="firstName" ng-model="data.customer.firstName" tabindex="1" ng-disabled="!data.editable" validationcustomer /> </form> 这不起作用。请注意,我的表单位于“基金会”选项卡中。我该如何访问firstName? 编辑:当它位于“基金会”标签中时,似乎form未添加到中scope。 有人对此有解决方案吗?


30
angular js未知提供程序
我正在尝试“定制” mongolab示例以适合我自己的REST API。现在我遇到了这个错误,我不确定自己在做什么错: Error: Unknown provider: ProductProvider <- Product at Error (unknown source) at http://localhost:3000/js/vendor/angular.min.js:28:395 at Object.c [as get] (http://localhost:3000/js/vendor/angular.min.js:26:180) at http://localhost:3000/js/vendor/angular.min.js:28:476 at c (http://localhost:3000/js/vendor/angular.min.js:26:180) at d (http://localhost:3000/js/vendor/angular.min.js:26:314) 这是我的控制器: function ProductListCtrl($scope, Product) { $scope.products = Product.query(); } 这是模块: angular.module('productServices', ['ngResource']). factory('Product', ['$resource', function($resource){ var Product = $resource('/api/products/:id', { }, { …
152 angularjs 

8
我该如何模拟在AngularJS Jasmine单元测试中返回诺言的服务?
我有myService那个用途myOtherService,它可以进行远程调用,并返回promise: angular.module('app.myService', ['app.myOtherService']) .factory('myService', [ myOtherService, function(myOtherService) { function makeRemoteCall() { return myOtherService.makeRemoteCallReturningPromise(); } return { makeRemoteCall: makeRemoteCall }; } ]) 要对myService我进行单元测试,需要模拟myOtherService,以使其makeRemoteCallReturningPromise方法返回promise。这是我的方法: describe('Testing remote call returning promise', function() { var myService; var myOtherServiceMock = {}; beforeEach(module('app.myService')); // I have to inject mock when calling module(), // and module() should come …

8
在AngularJS中的视图之间切换时保持范围模型
我正在学习AngularJS。比方说,我有/厂景使用My1Ctrl,和/视图2使用My2Ctrl ; 可以使用标签浏览,每个视图都有自己简单但不同的形式。 当用户离开然后返回到view1时,如何确保未重置以view1形式输入的值? 我的意思是,第二次访问view1如何保持与我离开模型时完全相同的状态?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.