Angular.js 如何从指令更新范围? [英] Angular.js How to update the scope from a directive?
本文介绍了Angular.js 如何从指令更新范围?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何更新指令中的作用域?
<p t></p>
我的指令:
var myModule = angular.module('myModule', []).directive('t', function () {返回 {模板:'{{text}}',链接:函数(范围、元素、属性){scope.text = '1';element.click(函数(){scope.text = '2';});}};}).controller('MyCtrl', ['$scope', function ($scope) {}]);
点击后指令不更新.
解决方案
使用 $apply
方法:
element.click(function() {范围.$应用(函数(){scope.text = '2';});});
How can I update scope in directive?
<div ng-controller="MyCtrl">
<p t></p>
</div>
My directive:
var myModule = angular.module('myModule', [])
.directive('t', function () {
return {
template: '{{text}}',
link: function (scope, element, attrs) {
scope.text = '1';
element.click(function() {
scope.text = '2';
});
}
};
})
.controller('MyCtrl', ['$scope', function ($scope) {
}]);
After click directive does not update.
解决方案
Use $apply
method:
element.click(function() {
scope.$apply(function(){
scope.text = '2';
});
});
Explanation: How does data binding work in AngularJS?
这篇关于Angular.js 如何从指令更新范围?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文