Questions tagged «angularjs»

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

4
AngularJS:如何在控制器中手动将输入设置为$ valid?
使用TokenInput插件并使用AngularJS内置的formController验证。 现在,我正在尝试检查该字段是否包含文本,然后将其设置为有效(如果包含)。使用该插件的问题是它创建了自己的输入,然后创建了ul + li进行存储。 我可以访问addItem(formname)和我在控制器中的功能,我只需要将其设置为$ valid即可。 标记。 <form class="form-horizontal add-inventory-item" name="addItem"> <input id="capabilities" name="capabilities" token-input data-ng-model="inventoryCapabilitiesAutoComplete" data-on-add="addCapability()" data-on-delete="removeCapability()" required> <div class="required" data-ng-show="addItem.capabilities.$error.required" title="Please enter capability."></div> </form> JS。 $scope.capabilityValidation = function (capability) { if (capability.name !== "") { addItem.capabilities.$valid = true; addItem.capabilities.$error.required = false; } else { addItem.capabilities.$valid = false; addItem.capabilities.$error.required …

2
如何在AngularJS中存储当前用户上下文?
我有一个AuthService,用于登录用户,它返回一个用户json对象。我要做的是设置该对象,并使所有更改都反映在整个应用程序中(登录/注销状态),而无需刷新页面。 我将如何使用AngularJS做到这一点?
92 angularjs 

3
require:'ngModel'是什么意思?
这是我的指令的HTML: <textarea data-modal="modal" data-mydir ng:model="abc"></textarea> 在我的指令中,我有: return { require: 'ngModel', replace: true, scope: { modal: '=modal', ngModel: '=', pid: '=pid' }, 有人可以告诉我,require的意义是什么:'ngModel'?我在许多不同的指令中看到了这一点。我可以称之为数据模式吗? 我很困惑,因为当我将其更改为数据模式时,我从Angular收到一条消息 Controller 'ngModel', required by directive 'textarea', can't be found!
92 angularjs 

8
AngularJS:input [text] ngChange在值更改时触发
更改值时会触发ngChange(ngChange与经典的onChange事件不相似)。如何将经典的onChange事件与angularjs绑定在一起,只有在提交内容时才会触发? 当前绑定: <input type="text" ng-model="name" ng-change="update()" />
92 angularjs 

6
为什么要使用if(!$ scope。$$ phase)$ scope。$ apply()作为反模式?
有时我需要$scope.$apply在代码中使用它,有时它会引发“已消化的摘要”错误。所以我开始找到解决这个问题的方法,并找到了这个问题:AngularJS:防止在调用$ scope。$ apply()时发生错误$ digest。但是,您可以在评论中(和角度维基上)阅读: 如果(!$ scope。$$ phase)$ scope。$ apply()不执行,那意味着您的$ scope。$ apply()在调用堆栈中不够高。 所以现在我有两个问题: 为什么这是反模式? 我如何安全地使用$ scope。$ apply? 另一个防止“已消化摘要”错误的“解决方案”似乎正在使用$ timeout: $timeout(function() { //... }); 那是路要走吗?更安全吗?所以这才是真正的问题:我该怎么办完全消除“已消化的消化”错误的可能性? PS:我只在非同步的非angularjs回调中使用$ scope。$ apply。(据我所知,在某些情况下,如果要应用更改,必须使用$ scope。$ apply)

6
AngularJS订购后错误的$ index
我是Angular.js的新手,在排序数组和处理排序后的数据时遇到一些问题。 我有一个包含项目的列表,并希望按“ Store.storeName”对其进行排序,到目前为止,该列表仍然有效。但是在对数据进行排序之后,我的删除功能不再起作用。我认为那是因为排序后$ index错误,因此删除了错误的数据。 我该如何解决?在范围内而不是在视图中排序数据?怎么做? 这是一些相关的代码: 在视图中: <tr ng-repeat="item in items | orderBy:'Store.storeName'"> <td><input class="toggle" type="checkbox" ng-model="item.Completed"></td> <td>{{item.Name}}</td> <td>{{item.Quantity}} Stk.</td> <td>{{item.Price || 0 | number:2}} €</td> <td>{{item.Quantity*item.Price|| 0 | number:2}} €</td> <td>{{item.Store.storeName}}</td> <td><a><img src="img/delete.png" ng-click="removeItem($index)">{{$index}}</a></td> </tr> 在我的控制器中,我具有此删除功能,该功能应删除特定数据: $scope.removeItem = function(index){ $scope.items.splice(index,1); } 在视图中订购之前,这很好用。如果缺少重要的东西,请让我现在。 谢谢!

4
加载视图时运行AngularJS初始化代码
加载视图时,我想在其关联的控制器中运行一些初始化代码。 为此,我在视图的主要元素上使用了ng-init指令: <div ng-init="init()"> blah </div> 并在控制器中: $scope.init = function () { if ($routeParams.Id) { //get an existing object }); } else { //create a new object } $scope.isSaving = false; } 第一个问题:这是正确的方法吗? 接下来,事件顺序发生了问题。在视图中,我有一个“保存”按钮,它使用如下ng-disabled指令: <button ng-click="save()" ng-disabled="isClean()">Save</button> 该isClean()功能在控制器中定义: $scope.isClean = function () { return $scope.hasChanges() && !$scope.isSaving; } 如您所见,它使用$scope.isSaving在init()函数中初始化的标志。 问题:加载视图时,isClean函数在该init()函数之前被调用,因此标记isSaving为undefined。我该怎么做才能防止这种情况?
92 angularjs 


17
如何将输入限制为仅接受数字?
我在AngularJS中使用ngChange来触发自定义函数,该函数将删除用户添加到输入中的所有字母。 <input type="text" name="inputName" data-ng-change="numbersOnly()"/> 问题是我需要定位触发的输入,numbersOnly()以便删除输入的字母。我在Google上花了很长时间苦苦寻找,却找不到任何与此相关的信息。 我能做什么?

6
如何跳过“选项”预检请求?
我开发了一个PhoneGap应用程序,现在正在将其转换为移动网站。除了一处小故障,一切都可以顺利进行。我通过POST请求使用了某个第三方API,该API在该应用中可以正常运行,但在移动网站版本中却无法运行。 仔细查看后,似乎AngularJS(我想实际上是浏览器)正在首先发送OPTIONS请求。今天,我对CORS有了很多了解,但似乎无法弄清楚如何完全禁用它。我没有访问该API的权限(因此无法在那一侧进行更改),但他们已将我正在处理的域添加到其Access-Control-Allow-Origin标头中。 这是我正在谈论的代码: var request = { language: 'fr', barcodes: [ { barcode: 'somebarcode', description: 'Description goes here' } ] }; } var config = { headers: { 'Cache-Control': 'no-cache', 'Content-Type': 'application/json' } }; $http.post('http://somedomain.be/trackinginfo', request, config).success(function(data, status) { callback(undefined, data); }).error(function(data, status) { var err = new Error('Error message'); …
92 angularjs  post  cors 

5
如何清除或停止angularjs中的timeInterval?
我正在制作一个演示,其中我将使用以下常规时间间隔从服务器获取数据 $interval现在我需要停止/取消此操作。 我该如何实现?如果需要重新启动该过程,该怎么办? 其次,我还有一个问题:在规定的时间间隔后,我正在从服务器获取数据。是否有任何需要使用$scope.apply或$scope.watch? 这是我的朋克: app.controller('departureContrl',function($scope,test, $interval){ setData(); $interval(setData, 1000*30); function setData(){ $scope.loading=true; test.stationDashBoard(function(data){ console.log(data); $scope.data=data.data; $scope.loading=false; //alert(data); },function(error){ alert('error') }) ; } }); http://plnkr.co/edit/ly43m5?p=preview

3
angular ng-repeat如果匹配表达式则跳过项目
我正在寻找一种基本上告诉angular如果与表达式匹配的话跳过ng-repeat中的项目的方法continue; 在控制器中: $scope.players = [{ name_key:'FirstPerson', first_name:'First', last_name:'Person' }, { name_key:'SecondPerson', first_name:'Second', last_name:'Person' }] 现在,在我的模板中,我想向所有人显示不匹配的人name_key='FirstPerson'。我认为它必须是过滤器,所以我设置了一个Plunkr来使用它,但是没有任何运气。Plunkr尝试

7
没有html元素的AngularJS ng-repeat
我目前正在使用这段代码来呈现列表: <ul ng-cloak> <div ng-repeat="n in list"> <li><a href="{{ n[1] }}">{{ n[0] }}</a></li> <li class="divider"></i> </div> <li>Additional item</li> </ul> 但是,该<div>元素在某些浏览器上导致一些非常小的渲染缺陷。我想知道是否可以在没有div容器的情况下进行ng-repeat,或通过其他方法来达到相同的效果。

2
如何对自定义AngularJS指令使用“替换”功能?
为什么replace=true还是replace=false没有在下面的代码产生任何影响? 当replace = false时为什么不显示“某些现有内容”? 或者更谦虚地讲,您能否解释replace=true/false指令中的功能以及如何使用它? 例 JS /角度: <script> angular.module('scopes', []) .controller('Ctrl', function($scope) { $scope.title = "hello"; }) .directive('myDir', function() { return { restrict: 'E', replace: true, template: '<div>{{title}}</div>' }; }); </script> HTML: <div ng-controller="Ctrl"> <my-dir><h3>some existing content</h3></my-dir> </div> 在此处查看Plunker: http://plnkr.co/edit/4ywZGwfsKHLAoGL38vvW?p=preview

3
AngularJS自定义过滤器功能
在控制器内部,我想过滤对象数组。每个对象都是一个映射,可以包含字符串和列表 我尝试使用$filter('filter')(array, function)格式,但是我不知道如何访问函数内部数组的各个元素。这是显示我想要的内容的摘要。 $filter('filter')(array, function() { return criteriaMatch(item, criteria); }); 然后在中criteriaMatch(),我将检查每个单个属性是否匹配 var criteriaMatch = function(item, criteria) { // go thro each individual property in the item and criteria // and check if they are equal } 我必须在控制器中完成所有这些操作,并编译一个列表列表,然后在范围内进行设置。因此,我$filter('filter')只需要以这种方式访问。到目前为止,我在网上发现的所有示例都在函数内部进行了静态条件搜索,它们没有通过条件对象并针对数组中的每个项目进行测试。

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.