所以我是AngularJS的新手,我正在尝试构build一个非常简单的列表应用程序,我可以在其中创build一个ng-repeat项目列表,然后将所选项目推送到另一个ng-repeat列表中。 虽然我的问题似乎很简单,但我还是无法find合适的解决scheme。 所以这是简化的标记: <body ng-app="MyApp"> <div id="MyApp" ng-controller="mainController"> <div id="AddItem"> <h3>Add Item</h3> <input value="1" type="number" placeholder="1" ng-model="itemAmount"> <input value="" type="text" placeholder="Name of Item" ng-model="itemName"> <br/> <button ng-click="addItem()">Add to list</button> </div> <!– begin: LIST OF CHECKED ITEMS –> <div id="CheckedList"> <h3>Checked Items: {{getTotalCheckedItems()}}</h3> <h4>Checked:</h4> <table> <tr ng-repeat="item in checked" class="item-checked"> <td><b>amount:</b> {{item.amount}} -</td> <td><b>name:</b> {{item.name}} -</td> […]
我想问你是否可以帮我一把。 我在这里创build了一个我的问题jsfiddle。 我需要使用ng-model =“my _ {{$ index}}”方式在ng-repeater中dynamic生成一些带有ng-model的input。 在jsfiddle中,你可以看到它的一切工作正常,直到我试图dynamic生成它。 该html将是: <div ng-app> <div ng-controller="MainCtrl"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td> <select ng-model="selectedQuery" ng-options="q.name for q in queryList" > <option title="—Select Query—" value="">—Select Query—</option> </select> </td> </tr> <tr ng-repeat="param in parameters"> <td>{{param}}:</td> <td><input type="text" ng-model="field_X" />field_{{$index}}</td> </tr> </table> <div> <div> 和JavaScript … function MainCtrl($scope) { $scope.queryList […]
Angular文档说: DOM的编译是通过调用$ compile()方法来完成的。 该方法遍历DOM并匹配指令。 如果find匹配项,则将其添加到与给定DOM元素关联的指令列表中。 一旦给定DOM元素的所有指令都被识别出来,它们将按照优先级进行sorting,并执行它们的compile()函数。 我相信ng-repeat指令比自定义指令具有更低的优先级,在某些使用情况下(如dynamic标识和自定义指令) 。 angular度允许修改指令的优先级来select一个之前的执行吗?
这是我的代码: <div ng-show="?" ng-repeat="item in items | notEmpty"> </div> 过滤: Kb.filter("notEmpty", function(){ return function(input){ var output=[]; for(var i=0;i<input.length;i++){ if(input[i]){ output.push(input[i]); } } return output; }}); 我需要根据循环中过滤项目的数量显示/隐藏重复的s。 什么是最好的办法呢? 谢谢
我试图用一个条件来分组ng-repeat。 一个示例条件是将所有元素分组在同一小时。 数据: [ {name: 'AAA', time: '12:05'}, {name: 'BBB', time: '12:10'}, {name: 'CCC', time: '13:20'}, {name: 'DDD', time: '13:30'}, {name: 'EEE', time: '13:40'}, … ] “时间”字段实际上是一个时间戳(1399372207),但输出示例的确切时间更易于理解。 我使用ng-repeat列出这些项目: <div ng-repeat="r in data| orderBy:sort:direction"> <p>{{r.name}}</p> </div> 也尝试过: <div ng-repeat-start="r in data| orderBy:sort:direction"></div> <p>{{r.name}}</p> <div ng-repeat-end></div> 有效的输出是: <div class="group-class"> <div><p>AAA</p></div> <div><p>BBB</p></div> </div> <div class="group-class"> <div><p>CCC</p></div> <div><p>DDD</p></div> <div><p>EEE</p></div> […]
我正在寻找正确的模式,每3列注入一个引导行类。 我需要这个,因为cols没有固定的高度(我不想修复),所以它打破了我的devise! 这是我的代码: <div ng-repeat="product in products"> <div ng-if="$index % 3 == 0" class="row"> <div class="col-sm-4" > … </div> </div> </div> 但它只在每一行显示一个产品。 我想要的最终结果是: <div class="row"> <div class="col-sm4"> … </div> <div class="col-sm4"> … </div> <div class="col-sm4"> … </div> </div> <div class="row"> <div class="col-sm4"> … </div> <div class="col-sm4"> … </div> <div class="col-sm4"> … </div> </div> 我可以用ng-repeat模式(没有指令或控制器)来实现吗? 文档介绍了ng-repeat-start和ng-repeat-end,但我不知道如何使用它是这个用例! […]
我有一个简单的循环与ng-repeat像这样: <li ng-repeat='task in tasks'> <p> {{task.name}} <button ng-click="removeTask({{task.id}})">remove</button> </li> 控制器$scope.removeTask(taskID)有一个函数。 据我所知,Angular将首先呈现视图,并用一个数字replace插入的{{task.id}} ,然后在点击事件时,将评估ng-clickstring。 在这种情况下, ng-click会完全得到预期的结果,即: ng-click="removeTask(5)". 然而…这没有任何事情。 当然,我可以编写一个代码来从$tasks数组或甚至DOM获取task.id ,但是这看起来不像Angular方式。 那么,如何在ng-repeat循环中添加dynamic内容到ng-click指令呢?
我正在尝试这样做: <div ng-controller="TestCtrl"> <div ng-repeat="(k,v) in items | filter:hasSecurityId"> {{k}} {{v.pos}} </div> </div> AngularJs部分: function TestCtrl($scope) { $scope.items = { 'A2F0C7':{'secId':'12345', 'pos':'a20'}, 'C8B3D1':{'pos':'b10'} }; $scope.hasSecurityId = function(k,v) { return v.hasOwnProperty('secId'); } } 但不知何故,它显示了我所有的项目。 如何过滤(键,值)?
有没有办法ng – 重复一个定义的次数,而不是总是迭代一个数组? 例如,下面我想列表项目出现5次,假设$scope.number等于5,此外增加数字,所以每个列表项增加像1,2,3,4,5 预期结果: <ul> <li><span>1</span></li> <li><span>2</span></li> <li><span>3</span></li> <li><span>4</span></li> <li><span>5</span></li> </ul>
我有一系列使用ng-repeat重复使用的产品 <div ng-repeat="product in products | filter:by_colour"> 通过颜色过滤这些产品。 过滤器正在工作,但是如果产品名称/描述等包含颜色,则产品在应用过滤器后仍然保留。 如何设置过滤器只适用于我的数组的颜色领域,而不是每个领域?