【发布时间】:2016-04-08 20:29:41
【问题描述】:
我尝试创建一个可能包含或不包含 cmets 的书籍列表。 所以我希望能够点击 cmets 链接(如果它包含 cmets)并查看 cmets 列表。
我读到每个<li> 都会创建自己的范围。因此,我尝试根据单击“cmets”链接创建局部变量并显示/隐藏 cmets 列表。
由于某种原因,ng-click 不起作用,并且不会更改“showComments”变量
我写了一个小例子来描述问题。
有什么建议吗? 谢谢。
var app = angular.module('myApp', ['ui.bootstrap']);
app.controller('bookCtrl', function($scope) {
$scope.books=[
{Name:"Book1",Comments:["first comment book1,second comment book1"]},
{Name:"Book2",Comments:["first comment book2,second comment book2"]},
{Name:"Book3",Comments:[]}
];
});
html, body {
width: 100%;
height: 100%;
}
ul{
list-style-type:none;
}
a:hover {
cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="booksCtrl">
<ul>
<li ng-repeat="book in books">
<div class="row">
{{book.Name}}
</div>
<div>
<a ng-if="book.Comments.length>0" ng-click="showComments = !showComments ">Comments</a>
</div>
<div ng-show="showComments">
<ul>
<li ng-repeat="comment in book.Comments">
{{comment}}
</li>
</ul>
</div>
</li>
</ul>
</div>
【问题讨论】:
-
代码编辑器需要 ui-bootstrap 所以在这里它不起作用,但这与问题无关
标签: angularjs angularjs-ng-repeat angularjs-ng-click