我不明白为什么在im调用$ setViewValue函数时更新表达式和ng模型值。
这是掠夺者:
http://plnkr.co/edit/2xdsujEsqDVVXaSPNqYE?p=preview
代码:
<body ng-controller="MainCtrl">
<input type="text" ng-model="user.name" set-value>
{{user.name}}
<input type="button" value="click" ng-click="change()">
</body>
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.user = {name:'name'};
})
.directive('setValue', function() {
return {
restrict:'A',
require:'ngModel',
link: function(scope,ele, attr, ctrl) {
scope.change = function() {
ctrl.$setViewValue('text');
}
}
}
})
答案 0 :(得分:0)
在ctrl.$render()
之后立即尝试添加ctrl.$setViewValue('text')
。这将导致使用最新的模型更改来更新UI。