我刚来自这篇文章:
Angular JS display and edit model in textarea
这对我想要实现的目标非常有帮助,但是我需要更进一步,在模型值发生变化时更新textarea。我在上面的帖子中与@JustMaier合作过去example。我想我需要添加一个$watch
但不确定如何/在哪里确切...感谢您对此的帮助,谢谢!
答案 0 :(得分:0)
是的,你是对的。它的动态记录ngModel并没有注意深层次的变化,因此当模型发生深刻变化时,不会发表zpdate视图:
https://docs.angularjs.org/api/ng/type/ngModel.NgModelController
因此,您需要将ngModel值添加到指令范围,以便在其上使用$watch
:
scope:{'ngModel':'='}
然后添加watch,将视图值更新为指令链接函数:
scope.$watch ('ngModel', function (newval) {
ngModel.$viewValue = toJson(newval);
ngModel.$render();
}, true);
答案 1 :(得分:0)
您可以watch
model
directive
中的formatters
值,并在更改时触发scope.$watch(function() {
return ngModel.$modelValue;
}, function(modelValue) {
// trigger the formatters
ngModel.$modelValue = '';
}, true);
:
{{1}}