我使用angularjs v1.0.7。我有一个隐藏的表单字段,它的值与其他输入值有关。在http://jsfiddle.net/4ANaK/示例中,隐藏字段未更新,因为我在文本输入字段中输入。
<div ng-controller="MyCtrl">
<form ng-submit="action()">
name:<input ng-model="name" type="text" value="you name">
<input ng-model="nice_name" type="hidden" value="Mr {{name}}" >
<input type="submit">
</form>
</div>
var app=angular.module('myApp', []);
function MyCtrl($scope) {
$scope.name = "David";
$scope.action = function(){
alert($scope.nice_name);
}
}
如何解决问题?
答案 0 :(得分:1)
尝试1
将此添加到您的控制器可以解决您的问题。它也能解决你的真正问题吗?
$scope.$watch('name', function (value) {
$scope.nice_name = 'Mr ' + value;
});
尝试2
好吧,那么这个怎么样?这完全是在视图中完成的。
<input ... ng-change="nice_name = 'Mr ' + name" ng-init="nice_name = 'Mr ' + name">
修改强>
看起来没有必要ng-init
。