我试图在我的自定义指令中使用单向绑定进行一些数据操作,但我第一次收到“未定义”。我应该如何处理指令而不是使用 $watch ?
例子:
<one val={{arr[1].value}}> </one>
<two val="arr[0].value"> </two>Run Code Online (Sandbox Code Playgroud)
指令:
.directive('one', function(){
return {
restrict: 'E',
scope: {
val:'@'
},
template: '<div> 1111 {{val}} </div>' ,
link: function (scope) {
console.log('scope', scope.val) // SHOWS UNDEFINED BUT INSERT DATA IN TEMPLATE
if(scope.val) scope.val = scope.val.replace(/\d/g,'')
}
}
})
.directive('two', function(){
return {
restrict: 'E',
scope: {
val:'='
},
template: '<div> 2222 {{val}} </div>' ,
link: function (scope) {
console.log('scope', scope.val)
scope.val = scope.val.replace(/\d/g,'')
}
}
});Run Code Online (Sandbox Code Playgroud)
示例:JsFiddle
angularjs ×1