指令范围重写父值
directive scope rewrite parent value
我写了指令:
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" >
输入元素变得不可见(不依赖于任何函数结果)。似乎指令范围重写了ngShow值
你应该这样做ng-show="$parent.anyFunction()"
因为该指令会创建一个新作用域。
之所以不可见,是因为函数anyFunction()
是undefined
的,undefined
将被ng-show
指令中toBoolean()
的函数计算为false
。您可以参考此答案了解详细信息。
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 如何重写下面的函数,使其不会't用于循环
- HTML范围:动态设置值属性
- "实例范围”;TypeScript类的getter/setter
- jquery日期选择器年份范围默认值
- Jpgraph:如何手动设置X轴和Y轴的范围
- 在对象数组中查找多个值的d3范围
- 动态加载angularjs并生成控制器和范围
- 重写CSS:使用jquery显示none属性
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 在Materialize Calendar中设置年份范围
- 在MVVM视图模型中处理应用程序范围的元素
- setInterval游戏循环的范围问题
- AngularJS获取范围中的选定项目
- 从指定范围创建字符数组
- ES6是否引入了一种机制来生成块范围的函数语句(而不是表达式)
- 我怎样才能重写这个函数,这样我就不会'不必显式地键入范围内的每个IP地址
- 指令范围重写父值