我有一个具有“高度”属性的模型,我希望允许用户编辑为两个单独的字段,“英尺”和“英寸”,但让它们映射到单个属性“高度”,以英寸为单位。
表单看起来像这样:
在这些字段和单个“高度”属性之间创建双向绑定的最佳方法是什么?
答案 0 :(得分:3)
HTML:
<input type="number" ng-model="feet">
<input type="number" ng-model="inches">
<br>{{height}}
控制器:
$scope.feet = 2;
$scope.inches = 5;
$scope.$watch('feet * 12 + inches', function(value){
$scope.height = value;
})
答案 1 :(得分:3)
我修改了@ Mark的例子,删除了$ watch,我觉得它是多余的
HTML
<input type="number" ng-model="calc.feet">
<input type="number" ng-model="calc.inches">
<br>{{calc.height()}}
控制器
$scope.calc = {
feet: 2,
inches: 5,
height: function () { return this.feet * 12 + this.inches }
};