我是否可以将两个模型值绑定到一个输入字段?
假设我有一个输入域,我希望它是作用域中两个变量的值,比如:
<input type="text" model="sn_number; id" >
你不能,但是有一些变通方法。
<input type="text" ng-model="sn_number" ng-change="id=sn_number"/>
$scope.$watch('sn_number', function(v){ $scope.id = v; });
如果您想保持它们的同步,还需要观察 id中的更改。
id
举个例子
将输入绑定到模型中的两个变量是没有意义的。绑定是双向工作的,所以如果模型被更新,字段就会被更新,反之亦然。如果你绑定到两个变量,真理的唯一来源是什么?
但是,您可以使用 n- 变化来调用控制器上的一个方法,该方法可以在字段变化时设置两个变量。
和 ng-init
<div ng-controller="ctrl" ng-init="model = { year: '2013', month:'09'}">
或者
<div ng-repeat="c in contact" ng-init="likes = { food: 'steak', drink:'coke'}">
您可以立即绑定字段,不仅在 n- 变化中,而且实际上它不是数据绑定,而是它唯一的角度表达式
<label>Name</label> <input type="text" ng-model="name" value="\{\{name}}"/> <label>Key</label> <input type="text" ng-model="key" value="\{\{key=name}}" />