我无法使数据绑定在此指令中起作用。当我在事件处理程序中更改它们时,变量没有正确绑定
我做错了什么? > Test Fiddle
var myApp = angular.module('myApp', [])
.directive('inputTest', function () {
return {
restrict: 'E',
template: '<div class="input-group">\
<input type="text" class="form-control" />\
<br>child scope: {{myValue}}\
</div>',
scope: {
myValue: '=',
},
link: function (scope, element, attrs) {
$(element).on('click', function (e) {
alert('c');
scope.myValue = 'clicked';
});
scope.myValue = 'not clicked';
},
};
})
function MyCtrl($scope) {
$scope.myValue = 'parent value';
}
HTML
<div ng-controller="MyCtrl">parent scope: {{myValue}}
<input-test my-value="myValue"></input-test>
</div>
答案 0 :(得分:2)
$scope.$apply()
。由于原型继承的工作原理,第一级绑定可能无法正常工作。如果您尝试第一点但仍未获得任何结果,请尝试将myValue
更深入一级:
$scope.data.myValue = 'parent value';
和
<input-test my-value="data.myValue"></input-test>