Questions tagged «angularjs»

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

7
用模板替换ng-include节点?
有点新的角。是否可以用包含的模板的内容替换ng-include节点?例如,使用: <div ng-app> <script type="text/ng-template" id="test.html"> <p>Test</p> </script> <div ng-include src="'test.html'"></div> </div> 生成的html是: <div ng-app> <script type="text/ng-template" id="test.html"> <p>Test</p> </script> <div ng-include src="'test.html'"> <span class="ng-scope"> </span> <p>Test</p> <span class="ng-scope"> </span> </div> </div> 但是我想要的是: <div ng-app> <script type="text/ng-template" id="test.html"> <p>Test</p> </script> <p>Test</p> </div>
85 angularjs 

9
AngularJS:如何在ng-include内制作角度加载脚本?
嘿,我正在建立一个有角度的网页。问题是已经有一些东西没有角度了,我也必须包括它们 问题是这样的。 我的main.html中有这样的内容: <ngInclude src="partial.html"> </ngInclude> 我的partial.html有这样的东西 <h2> heading 1 <h2> <script type="text/javascript" src="static/js/partial.js"> </script> 我的partial.js与angularjs无关。nginclude工作正常,我可以看到html,但根本看不到正在加载的javascript文件。我知道如何使用firebug / chrome-dev-tool,但是我什至看不到正在发出的网络请求。我究竟做错了什么? 我知道angular对脚本标签有一些特殊的含义。我可以覆盖它吗?
85 angularjs 

6
相对于.js文件的Angular指令templateUrl
我正在建立一个角度指令,该指令将在几个不同的位置使用。我不能总是保证使用该指令的应用程序的文件结构,但是我可以强迫用户将directive.jsand directive.html(而不是真实的文件名)放在同一文件夹中。 页面评估时directive.js,会认为templateUrl相对于自身。是否可以将设置templateUrl为相对于directive.js文件? 还是建议仅在指令本身中包含模板。 我想我可能想根据不同的情况加载不同的模板,因此宁愿能够使用相对路径而不是更新 directive.js

2
如何使orderby过滤器在字符串数组上工作?
这是不起作用的代码:演示:http : //jsfiddle.net/8dt94/63/ <div ng-controller="MyCtrl"> <input type="text" ng-model="searchText" /> <ul ng-repeat="strVal in arrVal|orderBy|filter:searchText" > <li>{{strVal}}</li> </ul> </div> var app=angular.module('myApp', []); app.controller('MyCtrl', function ($scope,$filter) { $scope.arrVal = ['one','two','three','four','five','six']; });
85 angularjs 

10
用ng-click单击复选框不会更新模型
单击复选框并调用ng-click:在ng-click插入之前不会更新模型,因此在UI中错误地显示了复选框的值: 这在AngularJS 1.0.7中有效,在Angualar 1.2-RCx中似乎已损坏。 <div ng-app="myApp" ng-controller="Ctrl"> <li ng-repeat="todo in todos"> <input type='checkbox' ng-click='onCompleteTodo(todo)' ng-model="todo.done"> {{todo.text}} </li> <hr> task: {{todoText}} <hr><h2>Wrong value</h2> done: {{doneAfterClick}} 和控制器: angular.module('myApp', []) .controller('Ctrl', ['$scope', function($scope) { $scope.todos=[ {'text': "get milk", 'done': true }, {'text': "get milk2", 'done': false } ]; $scope.onCompleteTodo = function(todo) { console.log("onCompleteTodo …

4
在ng-init中声明多个值
因此,我想知道如何在单个ng-init中声明多个值,而不必创建一些怪异的哈希,那么我需要始终专门进行访问。 所以基本上我想 <div ng-init="a = 1, b = 2">{{a}}</div> 我是说我想避免做 <div ng-init="unecessary_bs = {a: 1, b: 2}">{{unecessary_bs.a}}</div> 但是合理的: <div ng-init="a = 1, b = 2">{{a}}</div> 似乎不起作用。 预期的感谢

8
在Karma + AngularJS测试中加载模拟JSON文件
我有一个使用Karma + Jasmine进行测试的AngularJS应用程序。我有一个要测试的函数,该函数需要一个大型JSON对象,然后将其转换为应用程序的其余部分更易使用的格式,然后返回该转换后的对象。而已。 对于我的测试,我希望您有单独的JSON文件(* .json),仅包含模拟JSON内容-没有脚本。对于测试,我希望能够加载JSON文件并将对象泵入要测试的功能中。 我知道我可以按如下所述将JSON嵌入到模拟工厂中:http : //dailyjs.com/2013/05/16/angularjs-5/,但是我真的希望JSON不包含在脚本中-只是纯JSON文件。 我已经尝试了一些方法,但是在这个领域我还算是新手。首先,我将Karma设置为包括JSON文件,以查看其作用: files = [ ... 'mock-data/**/*.json' ... ] 结果是: Chrome 27.0 (Mac) ERROR Uncaught SyntaxError: Unexpected token : at /Users/aaron/p4workspace4/depot/sitecatalyst/branches/anomaly_detection/client/anomaly-detection/mock-data/two-metrics-with-anomalies.json:2 因此,然后我将其更改为仅提供文件,而不是“包含”它们: files = [ ... { pattern: 'mock-data/**/*.json', included: false } ... ] 现在只提供服务了,我想我会尝试从规格中使用$ http加载文件: $http('mock-data/two-metrics-with-anomalies.json') 运行规范时,我收到: Error: Unexpected request: GET mock-data/two-metrics-with-anomalies.json …

5
AngularJS:工厂$ http.get JSON文件
我希望仅使用硬编码的JSON文件在本地进行开发。我的JSON文件如下(放入JSON验证程序时有效): { "contentItem": [ { "contentID" : "1", "contentVideo" : "file.mov", "contentThumbnail" : "url.jpg", "contentRating" : "5", "contentTitle" : "Guitar Lessons", "username" : "Username", "realname" : "Real name", "contentTags" : [ { "tag" : "Guitar"}, { "tag" : "Intermediate"}, { "tag" : "Chords"} ], "contentAbout" : "Learn how to play …
84 json  http  angularjs  factory 

7
AngularJS动态ng模式验证
我有一种形式,如果复选框为false,则使用ng-required指令对文本输入强制执行验证。如果复选框为true,则该字段被隐藏,并且ng-required设置为false。 问题是我还使用ng-pattern angular指令在输入上指定了用于验证的正则表达式。我遇到的问题是,如果用户填写了无效的电话号码,请选中该框以停用该输入(因此无需进一步验证),该表单将不允许提交,因为基于ng-pattern表单无效。 我试图通过添加ng-change函数将输入模型设置为null来解决此问题,但是ng-pattern以及因此在复选框的初始设置为false时该字段仍设置为invalid。但是,如果我取消选中该框,将所有内容都设置为初始表单加载,然后再次选中该框,则该表单有效并且可以提交。我不确定我缺少什么。这是我到目前为止拥有的ng-change代码: var phoneNumberRegex = /^\(?(\d{3})\)?[ .-]?(\d{3})[ .-]?(\d{4})$/; $scope.phoneNumberPattern = phoneNumberRegex; $scope.removeValidation = function() { if ($scope.cell._newUser === false) { $scope.request._number = ''; $scope.phoneNumberPattern = /[0-9a-zA-Z]?/; } else { $scope.phoneNumberPattern = phoneNumberRegex; } };

3
AngularJS + JQuery:如何使动态内容在angularjs中工作
我正在使用jQuery和AngularJS开发Ajax应用程序。 当我使用jQuery的html功能更新div的内容(包含AngularJS绑定)时,AngularJS绑定不起作用。 以下是我正在尝试执行的代码: $(document).ready(function() { $("#refreshButton").click(function() { $("#dynamicContent").html("<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>") }); }); </style><script src="http://docs.angularjs.org/angular-1.0.1.min.js"></script><style>.ng-invalid { border: 1px solid red; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app=""> <div id='dynamicContent'> <button ng-click="count = count + 1" ng-init="count=0"> Increment </button> <span>count: {{count}} </span> </div> <button id='refreshButton'> Refresh …
84 jquery  angularjs 

1
在angular.js上使用HTML5 pushstate
我正在尝试实现html5的pushstate而不是Angularjs使用的#导航。我已经尝试过在Google上寻找答案,还尝试了没有运气的有角度的irc聊天室。 这是我的controllers.js: function PhoneListCtrl($scope, $http) { $http.get('phones/phones.json').success(function(data) { $scope.phones = data; }); } function PhoneDetailCtrl($scope, $routeParams) { $scope.phoneId = $routeParams.phoneId; } function greetCntr($scope, $window) { $scope.greet = function() { $("#modal").slideDown(); } } app.js angular.module('phoneapp', []). config(['$routeProvider', function($routeProvider){ $routeProvider. when('/phones', { templateUrl: 'partials/phone-list.html', controller: PhoneListCtrl }). when('/phones/:phoneId', { templateUrl: 'partials/phone-detail.html', controller: …

5
如何检查角度$ q诺言是否已解决
我了解,通常情况下then(),使用诺言时,只是将延续代码附加在调用和链接行为上。 但是,我要开始一个承诺包装的异步调用,然后分别开始一个3秒钟,$timeout()以便可以执行UI操作,仅当原始的承诺尚未完成时。(我预计这只会在连接速度慢,3G上的移动设备等上发生) 有了诺言,我是否可以在不阻塞或等待的情况下检查它是否完整?
84 angularjs  promise  q 

7
在业力单元测试期间如何修复图像的404警告
我正在使用grunt / karma / phantomjs / jasmine对我的指令之一(angularjs)进行单元测试。我的测试运行正常 describe('bar foo', function () { beforeEach(inject(function ($rootScope, $compile) { elm = angular.element('<img bar-foo src="img1.png"/>'); scope = $rootScope.$new(); $compile(elm)(); scope.$digest(); })); .... }); 但我确实得到了这些404 WARN [web-server]: 404: /img1.png WARN [web-server]: 404: /img2.png ... 尽管它们什么也不做,但是它们确实会在日志输出中增加噪音。有没有办法解决这个问题 ?(当然,无需更改业力的logLevel,因为我确实希望看到它们)

2
角JS过滤器不等于
似乎是一个非常基本的问题,但我无法正确使用语法。 <li class="list-group-item" ng-repeat="question in newSection.Questions | filter:Id != '-1'; " ng-mouseenter="hover = true" ng-mouseleave="hover = false"> <div href="#" editable-text="question.Text">{{question.Text}}</div> </li> 我想要的是显示id不是-1的所有问题。我究竟做错了什么。谢谢!

3
跨多个元素的Angular.js ng-repeat
此问题已在此处部分解决:跨多个tr的Angular.js ng-repeat 但是,这实际上只是一种变通方法,它实际上并未解决核心问题,即:如何在没有包装的情况下跨多个元素使用ng-repeat? 例如,jquery.accordion要求您重复一个h3和div元素,用ng-repeat怎么做?

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.