Kie*_*iee 9 javascript scope angularjs
我正在创建大量的指令,并且所有指令都将包含将在链接函数内初始化的动态范围变量, 例如:
//
link: function(scope, ele, attr){
scope.key = scope.somevar + 'something_else';
scope[scope.key] = 'the_value';
}
//
Run Code Online (Sandbox Code Playgroud)
我想通过指令访问指令模板中的值scope.key.
<div ng-if="scope[key]"> something </div>
Run Code Online (Sandbox Code Playgroud)
目前我只通过函数调用看到它是可行的:
HTML
<div ng-if="scope(key)"> something </div>
Run Code Online (Sandbox Code Playgroud)
JS
scope.scope = function(key) {
return scope[key];
}
Run Code Online (Sandbox Code Playgroud)
但问题是我需要将其复制到所有指令中.
我考虑的另一个选项是将getter函数分配给$rootScope全局可访问但是如何将其绑定到或传入当前指令范围.(如果可能的话).
对此有什么好处?
dfs*_*fsq 16
Angular模板this关键字内部指向当前评估上下文,即当前范围.这意味着您可以通过在this对象上使用括号表示法来实现您的目标:
<div ng-if="this[key]"> something </div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5110 次 |
| 最近记录: |