我创建了一个自定义指令,并使用双向绑定(=)
但是我希望在指令中更改模型时观察控制器中的更改。
警报应在用户更改输入时显示,但警报在开头只出现一次。
我的javascript
var myApp = angular.module('myApp', [])
.controller("myCtrl", function ($scope) {
$scope.test = "myValue";
$scope.$watch('myValue', function () {
alert('hey, myVar has changed!');
});
})
.directive('myDirective', function () {
return {
restrict: 'EA',
scope: {
myModel: '=ngModel'
},
template: '<input ng-model="myModel"/>'
}
});
和html
<div ng-app="myApp">
<div ng-controller="myCtrl">{{test}}
<my-directive ng-model="test"></my-directive>
</div>
</div>
答案 0 :(得分:1)
您正在观看错误的变量?
$scope.$watch('test', function() {
alert('hey, myVar has changed!');
});
答案 1 :(得分:1)
你错误拼写了'myValue'和'test'。
$scope.$watch('test', function() {
alert('hey, myVar has changed!');
});