本文介绍了双向绑定Angularjs指令不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在试图找出解决办法,但我觉得我打了一个死胡同。
因此,这里是我的指令
directives.directive('后处理',函数($编译)
{
返回{
限制:'E',
要求:'^ ngModel',
范围: {
ngModel:'='
},
链接:功能(范围,元素,ATTRS){
VAR分析= scope.ngModel;
EL = $编译(解析)(范围);
element.html();
//添加一些其他的HTML实体/样式。
element.append(EL);
的console.log(解析);
}
};
});
HTML的
<后处理NG模型=some_model.its_property的风格=填充顶:10px的; />
在某处控制器,我更新模型属性
some_model.its_property ='呼啦';
不过,这并不更新相应指令。它完美的作品时加载它告诉我,它可能不是完全是一个作用域的问题。
解决方案
这是简单得多,所以我删除了一些额外的code你必须在那里。
请看看在code以下或工作:
<!DOCTYPE HTML>
< HTML LANG =ENNG-应用=对myApp>
< HEAD>
<间的charset =UTF-8>
<标题>文件< /标题>
&所述; SCRIPT SRC =https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js>&下; /脚本> <脚本>
VAR对myApp = angular.module('对myApp',[]);
myApp.directive('后处理',函数($超时){
返回{
限制:'E',
transclude:真,
范围: {
MYVARIABLE:'='
},
链接:功能(范围,元素,ATTRS){
$超时(函数(){
scope.myVariable ='再见!
},200);
}
};
}); myApp.controller('myAppCtrl',['$范围,$超时',函数($范围,$超时){
$ scope.myVariable = {
值:'呼啦'
}; 的console.log($ scope.myVariable.value); // - >打印初始值
$超时(函数(){
的console.log($ scope.myVariable.value); // - >它是由该指令变更后打印值
},2000);
}])
< / SCRIPT> < /头>
<机身NG控制器=myAppCtrl>
<后处理我的变量=myVariable.value的风格=填充顶:10px的; />
< /身体GT;
< / HTML>
- 控制器的初始值设置为'呼啦'
- 该指令接收由
我的变量
属性该值 - 使用双向数据绑定到
scope.myVariable
所做的任何更改将更新的$ scope.myVariable
主控制器 - 几秒钟后
$ scope.myVariable
更改为'再见' - 在您的console.log看看
$钟表$适用
这篇关于双向绑定Angularjs指令不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!