首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng-在AngularJS 1.2中显示不隐藏SPAN元素

ng-在AngularJS 1.2中显示不隐藏SPAN元素
EN

Stack Overflow用户
提问于 2017-04-24 03:29:24
回答 1查看 789关注 0票数 0

我正在学习AngularJS,从“AngularJS启动和运行”一书中学习。这本书使用AngularJS版本1.2。书中的一个示例代码显示了ng-show指令是如何工作的。在本例中,对ng-show指令的用法的解释如下:

ng-检查变量,并根据其值的真实性,分别在UI中显示或隐藏元素。在这种情况下,我们说,如果note.assignee为真,请显示受让人的跨度。AngularJS将真、非空字符串、非零数字和非空JS对象视为真。因此,在这个例子中,如果票据有一个受让人,我们就可以看到受让人的跨度。

我正在粘贴下面的代码。(我的查询是在代码之后提供的。)

HTML:

代码语言:javascript
复制
<!-- File: chapter2/more-directives.html -->
<html ng-app="notesApp">
<head>
<title>Notes App</title>
<style>
.done {
background-color: green;
}
.pending {
background-color: red;
}
</style>
</head>
<body ng-controller="MainCtrl as ctrl">
<div ng-repeat="note in ctrl.notes"
ng-class="ctrl.getNoteClass(note.done)">
<span class="label"> {{note.label}}</span>
<span class="assignee"
ng-show="note.assignee"
ng-bind="note.assignee">
</span>
</div>
</body>
</html>

脚本

代码语言:javascript
复制
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js">
</script>
<script type="text/javascript">
angular.module('notesApp', []).controller('MainCtrl', [
function() {
var self = this;
self.notes = [
{label: 'First Note', done: false, assignee: 'Shyam'},
{label: 'Second Note', done: false},
{label: 'Done Note', done: true},
{label: 'Last Note', done: false, assignee: 'Brad'}
];
self.getNoteClass = function(status) {
return {
done: status,
pending: !status
};
};
}]);
</script>

在上面的代码中,声明了一个数组,其中有两个元素(第一个和最后一个),它们在“受让人”中有一些值。当我执行这段代码时,我可以看到数组的所有元素。ng-show指令并没有在“受让人”中隐藏带空值的“span”。代码是错的还是我对ng-show的理解是错的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 03:46:41

应该是这样的

代码语言:javascript
复制
<div ng-show="note.assignee">
  <span class="label"> {{note.label}}</span>
  <span class="assignee"  ng-bind="note.assignee"></span>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43579346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档