我写了指令:
ensureUnique: function ($http, $parse) {
return {
scope: {
ensureUniqueType: "=",
ensureUniqueDisabled: "="
},
...
}
},
但如果我尝试使用它:
<input name = "groupId" ng-show="anyFunction()"
type="text" ng-model="group.groupId"
ensure-unique="" ensure-unique-disabled="oldId != '-1'" ensure-unique-type="type" >
input元素变得不可见(不依赖于anyFunction结果)。似乎指令范围重写ngShow值
答案 0 :(得分:1)
您应该ng-show="$parent.anyFunction()"
,因为该指令会创建一个新范围。
它不可见的原因是因为函数anyFunction()
是undefined
,undefined
将被false
中的函数toBoolean()
评估为ng-show
{1}}指令。您可以参考此answer了解详细信息。