Questions tagged «angularjs»

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

3
角度$ scope。$ apply与$ timeout作为安全的$ apply
我试图更好地理解在Angular中使用$ timeout服务作为一种“安全$ apply”方法的细微差别。基本上是在某些代码可以响应Angular事件或非Angular事件(例如jQuery或某些标准DOM事件)的情况下。 据我了解: 在$ scope。$ apply中包装代码适用于您尚未处于摘要循环(又称为jQuery事件)的情况,但是如果正在进行摘要,则会引发错误 在$ timeout()调用中包装没有延迟参数的代码无论是否已经在摘要周期中都有效 查看Angular源代码,看起来$ timeout调用了$ rootScope。$ apply()。 如果摘要周期已经在进行中,为什么$ timeout()也不会引发错误? 当您确定摘要尚未进行时,使用$ scope。$ apply()是最佳方法吗?在需要使用任一方法确保其安全性时,是使用$ timeout()吗? 是$ timeout()确实是可以接受的“安全应用”,还是有陷阱? 感谢您的任何见解。
68 angularjs  scope 

2
用ng-click传递对DOM对象的引用
我在ng-click上有多个具有相同回调的元素: <button ng-click="doSomething()"></button> <button ng-click="doSomething()"></button> <button ng-click="doSomething()"></button> <button ng-click="doSomething()"></button> // In controller: $scope.doSomething = function() { // How do I get a reference to the button that triggered the function? }; 如何获得对调用doSomething的对象的引用?(我需要从中删除一个attr)

8
angularjs输出纯文本而不是html
我有一些这样的文字: <span>My text</span> 我想显示不带标签的内容: My text 我也不想应用标签,我想剥离它们。有什么简单的方法可以做到这一点? 角HTML: <div>{{myText | htmlToPlaintext}}</div>

2
错误:[$ injector:unpr]未知提供程序:$ routeProvider
我正在尝试启动并运行AngularJS 1.2 RC2应用程序。目前,我一直在使用Angular Seed项目来尝试启动并运行我的应用程序。不幸的是,Angular Seed项目使用的是v1.0.7。在Angular Seed项目中,我将依赖项更新为以下内容: $script([ 'res/js/angular-1.2.0-rc.2.js', 'res/js/angular-route-1.2.0-rc.2.js', 'res/js/app.js?v=2', ], function() { // when all is done, execute bootstrap angular application angular.bootstrap(document, ['myApp']); }); 在app.js中,我具有以下内容: 'use strict'; angular.module('myApp', []). config(['$routeProvider', function($routeProvider) { $routeProvider.otherwise({redirectTo: '/home'}); }]); 当我运行此应用程序时,出现以下错误: Error: [$injector:unpr] Unknown provider: $routeProvider 我已经阅读了一些其他的响应,例如1)注入'ngroute'或2)您需要在路由中定义控制器。我的问题是,我不知道如何注入ngroute。另外,我真的需要在路径中定义控制器吗?这种方法似乎不可扩展。我的应用程序可能有1000次浏览。在我看来,似乎必须有一种方法来定义路由,而不必加载所有控制器。
67 angularjs 

1
如何使用ng-repeat遍历AngularJS中的地图条目
您将如何遍历map中的条目,以便可以打印输入键和值?例如,我想做这样的事情: <ul> <li ng-repeat='mapEntry in {"First Name":"John", "Last Name":"Smith"}'> <span>Key: {{mapEntry.key}}, value: {{mapEntry.value}}</span> </li> </ul>
67 angularjs 

4
AngularJS-在页面之间传递数据
我是AngularJS入门者。我正在尝试从发送数据: A页:范列表页面 至 网页B:Van更新页面。 当用户单击货车的更新链接时,我正在调用控制器并在控制器中检索货车详细信息。但是,我无法使用同一控制器将货车详细信息分配给页面B(货车更新页面)...错误"Cannot set property 'vanNumber' of undefined" *** Page A: Van List **** <form name="listVanForm" > <table> <tr> <td ng-controller="VanUpdateCtrl"><a href="#/van-update" ng-click="prePopulateForm(row.members.vanNumber.value )" class="btn btn-small btn-primary">update</a></td> </tr> </table> </form> *** Page B: Van Update **** <div class="container"> <h2>Edit Van </h2> <form name="updateVanForm" novalidate="novalidate" class="form-horizontal" ng-submit="updateCard(formData)"> <div class="control-group"> …
67 angularjs 

4
Angular JS:如何绑定到Promise
我试图将诺言与观点捆绑在一起。我不知道您是否可以直接执行此操作,但这就是我要尝试执行的操作。有什么想法我做错了吗? 注意:源代码有点超时,并使用静态数据,但这使代码更易于诊断。 编辑: JSFiddle页面:http : //jsfiddle.net/YQwaf/27/ 编辑:解决方案:事实证明您可以直接绑定诺言。我的原始代码有两个问题: 使用setTimeout()代替angular的$ timeout是一个问题。Angular不知道触发超时时需要刷新UI(您可以在setTimeout内部使用$ scope。$ apply解决此问题,也可以只使用$ timeout) 绑定到返回诺言的函数是一个问题。如果第二次被召唤,它将带来另一个承诺。更好的方法是为承诺设置一个范围变量,并仅根据需要创建一个新的承诺。(就我而言,这是在国家/地区代码上调用$ scope。$ watch) HTML: <div ng:controller="addressValidationController"> Region Code <select ng:model="regionCode" ng:options="r.code as r.name for r in getRegions()"/> Country Code<select ng:model="countryCode"><option value="US">United States</option><option value="CA">Canada</option></select> </div> JS: function addressValidationController($scope, $q) { var regions = { US: [{code: 'WI',name: 'Wisconsin'}, {code: …

3
Angular.js中基于单元测试承诺的代码
我在尝试在Angularjs中测试基于承诺的代码时遇到了困难。 我的控制器中有以下代码: $scope.markAsDone = function(taskId) { tasksService.removeAndGetNext(taskId).then(function(nextTask) { goTo(nextTask); }) }; function goTo(nextTask) { $location.path(...); } 我想对以下情况进行单元测试: 什么时候markAsDone被调用tasksService.removeAndGetNext 当tasksService.removeAndGetNext是做了应该改变的位置(调用goTo) 在我看来,没有简单的方法可以分别测试这两种情况。 我测试第一个是: var noopPromise= {then: function() {}} spyOn(tasksService, 'removeAndGetNext').andReturn(noopPromise); 现在,要测试第二种情况,我需要创建另一个永远都是假的承诺resolved。这一切都非常乏味,并且有很多样板代码。 还有其他测试方法吗?还是我的设计有异味?

6
在Angular Directive的链接函数中使用ng-click vs bind
在链接函数中,是否存在将函数绑定到click事件的更多“角度”方式? 现在,我在做... myApp.directive('clickme', function() { return function(scope, element, attrs) { scope.clickingCallback = function() {alert('clicked!')}; element.bind('click', scope.clickingCallback); } }); 这是Angular的方式还是丑陋的破解?也许我不应该这么担心,但是我是这个框架的新手,并且想知道“正确”的做事方式,尤其是随着框架的发展。

6
Angular js支持本地化
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 5年前关闭。 改善这个问题 我试图在AngularJS中找到支持多种语言的文档,但没有成功。是否支持本地化?

6
AngularJS将忽略HTTP标头中的Set-Cookie
我正在基于客户端的AngularJS和基于Java的服务器的Java(Tomcat + WS的Jersey)开发应用程序。 我的API的某些路径受到限制,如果用户没有会话,则返回的响应状态为401。在客户端,将拦截401 http状态以将用户重定向到登录页面。 用户通过身份验证后,我将在服务器端创建一个会话 httpRequest.getSession(true); 并且发送给客户端的响应的标头中确实包含Set-cookie指令: Set-Cookie:JSESSIONID = XXXXXXXXXXXXXXXXXXXXX; 域=本地主机; 路径= / api /; HttpOnly 问题是cookie永远不会放在客户端。当我检查本地域的cookie时,它为空,因此下一个请求的标头中没有此cookie,并且客户端仍然无法访问我的API的受限路径。 客户端和服务器位于同一个域中,但是它们没有相同的路径和端口号: 客户: http://localhost:8000/app/index.html 服务器: http://localhost:8080/api/restricted/ 附加信息:双方都启用了CORS: “访问控制允许方法”,“获取,发布,选项” “访问控制允许来源”,“ *” “访问控制允许凭据”,true 有任何使Set-cookie正常工作的想法吗?这是与AngularJS相关的问题吗?

6
Angular.js-隐藏内容直到加载DOM
我在Angularjs中遇到问题,在我的数据从服务器返回之前,HTML出现了闪烁。 这是演示该问题的视频:http: //youtu.be/husTG3dMFOM-注意#| 和右边的灰色区域。 我尝试了ngCloak并没有成功(尽管ngCloak确实阻止了括号如期出现),并且想知道隐藏内容的最佳方法,直到Angular填充HTML。 我在控制器中使用了以下代码: var caseCtrl = function($scope, $http, $routeParams) { $('#caseWrap').hide(); // hides when triggered using jQuery var id = $routeParams.caseId; $http({method: 'GET', url: '/v1/cases/' + id}). success(function(data, status, headers, config) { $scope.caseData = data; $('#caseWrap').show(); // shows using jQuery after server returns data }). error(function(data, status, …
67 angularjs 
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.