在角函数中,范围变量的范围是多少
what will be the scope of scope variable in link function in angular?
var $directive = angular.module('myApp', []);
$directive.directive('myDirective', function(){
return {
restrict: 'E',
template: '<h4>{{title}}</h4>'
compile: function(element, attrs){
console.log('this is compile');
return function link(scope, element, attrs){
element.on('click', function(){
scope.title = 'My Directive 2 on click';
scope.dataPoint(scope.title);
});
};
},
controller: function($scope){
$scope.title = "My Directive";
$scope.dataPoint = function(title){
$scope.title = title;
};
}
};
});
<my-directive></my-directive>
在上面的片段中,我试图更改我在控制器中单击元素时声明的范围变量标题,但它没有显示任何更改。。?
你们能帮我吗?提前谢谢。。
您必须在scope.$apply
内部分配标题。scope.$apply()
将使点击处理程序使Angular进入digest
周期
link: function(scope, element, attr, ctrl) {
element.on('click', function() {
scope.$apply(function() {
scope.title = 'My Directive 2 on click';
});
});
}
相关文章:
- js命名空间和变量范围
- 如何检查ES6“;变量“;是恒定的
- 如何确保变量范围在这个循环中得到维护
- 在两个浏览器选项卡之间共享变量范围
- 如果变量不是't已传递给函数.这是正确的方式吗
- 文件API中的Javascript变量范围
- javascript和jQuery的嵌套对象函数中的变量范围
- JavaScript 函数变量范围问题
- JavaScript 中变量范围的问题
- Javascript - 揭示对象和变量范围
- 角承诺的“then”函数的成功回调的词汇范围是什么?
- 局部数组变量不是数组
- 主干.js(具有 Require.js)变量/范围访问问题
- Javascript 变量范围未定义
- 如何绕过javascript变量范围
- 变量不是't在循环中更改JavaScript
- IE 8变量范围错误
- jQuery变量$$符号是什么意思
- 这种减少if语句中声明的变量范围的模式是一种好的做法吗
- 在角函数中,范围变量的范围是多少