我有一个阵列$scope.items.
我想如果该项是添加css类$first的ngRepeat之一in.
是否可以用角度来完成?一般来说,我如何处理Ajs中的布尔值?
<div ng-repeat="item in items">
<div class='' > {{item.title}}</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我试图显示元素的二叉树,我用ng-include递归地进行.
ng-init="item = item.left"和之间有什么区别ng-repeat="item in item.left"?在这个例子中,它的行为完全相同,但我在项目中使用类似的代码,并且它的行为有所不同.我想这是因为Angular范围.也许我不应该使用ng-if,请解释我如何做得更好.
pane.html是:
<div ng-if="!isArray(item.left)">
<div ng-repeat="item in [item.left]" ng-include="'Views/pane.html'">
</div>
</div>
<div ng-if="isArray(item.left)">
{{item.left[0]}}
</div>
<div ng-if="!isArray(item.right)">
<div ng-repeat="item in [item.right]" ng-include="'Views/pane.html'">
</div>
</div>
<div ng-if="isArray(item.right)">
{{item.right[0]}}
</div>
<div ng-if="!isArray(item.left)">
<div ng-init = "item = item.left" ng-include="'Views/pane.html'">
</div>
</div>
<div ng-if="isArray(item.left)">
{{item.left[0]}}
</div>
<div ng-if="!isArray(item.right)">
<div ng-init="item = item.right" ng-include="'Views/pane.html'">
</div>
</div>
<div ng-if="isArray(item.right)">
{{item.right[0]}}
</div>
Run Code Online (Sandbox Code Playgroud)
控制器是:
var app = angular.module('mycontrollers', []);
app.controller('MainCtrl', function ($scope) {
$scope.tree = {
left: {
left: …Run Code Online (Sandbox Code Playgroud) javascript angularjs angularjs-ng-repeat angularjs-ng-include angularjs-ng-init
如何指定ng-repeat指令将开始而不是零的索引?
我有一组结果,我只需要指定起始值,它与零不同.
假设我有以下用户:
$scope.users = {
"2": {
email: 'john@gmail.com',
name: 'John'
},
"3": {
email: 'elisa@gmail.com',
name: 'Elisa'
}
}
Run Code Online (Sandbox Code Playgroud)
我想<select>用以下选项创建一个:
<option value="3">Elisa</option>
<option value="2">John</option>
Run Code Online (Sandbox Code Playgroud)
换句话说,用户应按名称排序.
我尝试了以下使用(key, value) in expression语法,但它不起作用:
<option ng-repeat="(user_id, user) in users | orderBy:'user.name'"
value="{{ user.id }}">
{{ user.name }}
</option>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
请不要ng-options使用与我ui-select2不相容的解决方案ng-options.
我的嵌套ng-repeat循环需要第二个$ index.我该怎么做,在哪里放?
使用ngInit可以为这些属性创建别名.例如,当嵌套ngRepeats时,这可能很有用.
<div ng-repeat="person in persons track by $index">
<div ng-repeat="something in array track by $index2"> <!-- where to init this and how to manage it?-->
Run Code Online (Sandbox Code Playgroud)
如果我再次使用$ index,它似乎有用,但我不确定这是正确的吗?我确信有一种简单而正确的方法,我只是无法找到一个例子.
谢谢
我正在使用ng-repeat生成一堆单选按钮,然后在选择其中一个时尝试更新模型.这似乎不起作用.
当无线电输入被硬编码而不是由ng-repeat生成时,相同的标记工作正常.
这有效:
<input type="radio" ng-model="lunch" value="chicken" name="lunch">
<input type="radio" ng-model="lunch" value="beef" name="lunch">
<input type="radio" ng-model="lunch" value="fish" name="lunch">
{{lunch}}
Run Code Online (Sandbox Code Playgroud)
这不是:
<input type="radio" ng-model="lunch" ng-repeat="m in meat" value="m" name="lunch">
{{lunch}}
Run Code Online (Sandbox Code Playgroud)
请参阅这里显示的jsfiddle:http://jsfiddle.net/mark_up/A2qCS/1/
任何帮助,将不胜感激.
谢谢
我有一个模板,我只想在当前项目与前一项目有不同的字段时生成一些HTML.如何访问ng-repeat中的上一项?
我试图将结果集限制为固定数字.我可以用limitTo用ng-repeat,但无论如何这限制了他们的项目目前的知名度,并删除项目从DOM.我想限制一些可见的项目,同时保持DOM中的所有内容.
这是我当前的代码.我的目标是始终在列表中显示不超过50个项目,即使items包含500个项目.
<div ng-repeat="item in items | limitTo: 50">
<div ng-show="item.visible">
<p>item.id</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这最初将限制为50个项目,但如果我过滤列表(通过修改某些项目上的item.visible),列表将永远不会显示50 - 500范围内的项目,而是显示少于50个项目.什么是限制一个正确的方式,ng-repeat以便它只计算可见项目的限制限制?
嗨,我有一个文本区域的characeter计数器.我的问题是它不计算空格或换行符.我该怎么做才能这样做?
<div class="controls">
<textarea rows="4" cols="50" maxlength="1500" data-ng-minLength="1" data-ng
model="createprofilefields.description" required highlight-on-
error></textarea>
<br />
<!--counter-->
<span class="form-help">{{1500-createprofilefields.description.length}}
Characters</span>
</div>
Run Code Online (Sandbox Code Playgroud) angularjs angular-ui angularjs-directive angularjs-ng-repeat