Javascript 如何基于属性的存在向指令添加条件语句?
这是我尝试过的,也是我想要做的: HTML:Javascript 如何基于属性的存在向指令添加条件语句?,javascript,angularjs,Javascript,Angularjs,这是我尝试过的,也是我想要做的: HTML: <update-field name="test" cap></update-field> scope: { name: "@", cap: "@" }, controller: function() { }, link: function(scope, elem, attr, ctrl) { scope.submit = function($event, object)
<update-field name="test" cap></update-field>
scope: {
name: "@",
cap: "@"
},
controller: function() {
},
link: function(scope, elem, attr, ctrl) {
scope.submit = function($event, object) {
query.first({
success: function(object) {
if (scope.cap) {
// do stuff
但是如果我在HTML中包含
cap
,则scope.cap
不会返回true
(这正是我试图实现的)。执行此操作的正确方法是什么?链接函数已具有attr
参数。此attr
to包含添加到元素的所有属性
所以,在链接函数中,您可以检查
if (attr.cap != null) {
// Do stuff
}
您可以使用
in
关键字检查属性是否在对象内<如果添加属性cap
,则code>attr应具有属性cap
,如果没有,则该属性将不存在
'cap' in attr // <--- true or false
属性中的“cap”//