【发布时间】:2017-08-20 07:56:37
【问题描述】:
我正在使用 AngularJS 1.4。我有一个表单输入元素,我正在尝试动态设置名称属性。
<input type="email" name="{{ctrl.name}}" class="form-control" id="email" ng-minlength="5" required>
name 属性按预期分配,只要在控制器运行时声明并分配 name。但是,在控制器使用$scope.$watch 检测到对参数的更改后,我需要它工作...
function FormFieldCtrlFtn($scope, $log) {
var vm = this;
vm.name = ''; // works if I provide a name here
$scope.$watch(function(scope) {
return (vm.obj);
}, function(newval, oldval) {
if(newval) {
vm.name = newval.name; // need it to work when the name is updated here
$log.info('name: ' + vm.name);
}
});
}
即使$scope.$watch 被触发并且vm.name 变量被分配了一个有效值,这在我的表单中也没有被检测到。有解决办法吗?
【问题讨论】:
标签: javascript html angularjs forms angularjs-scope