给定一个定义为名称和linkid的对象列表,如果linkid为null,我只想显示名称,如果linkid有一个值,我想将名称包装在一个锚标记中并绑定到一个click事件。例如,对象A是:
objectA {
name: "Object A"
}
我想在页面上显示文本,所以我可以使用:
{{objectA.name}}
但是,将objectB视为:
objectB {
name: "Object B",
linkId: 3
}
我希望标记为:
<a href="#" ng-click="clickEvent(objectB.linkId)">{{objectB.name}}</a>
我如何使用angularjs做到这一点?
答案 0 :(得分:5)
一个非常简单的解决方案是使用Angular的内置指令:
<a ng-if="objectB.linkId" href ng-click="clickEvent(objectB.linkId)">{{ objectB.name }}</a>
<span ng-if="!objectB.linkId">{{ objectB.name }}</span>
当对象没有span
时,这确实会创建一个额外的linkId
元素,但这是一个简单的解决方案。