我使用2个输入来定义年龄。这两个值都应传递给新输入,该输入被绑定到 rule.data 。那可能吗?我是angularjs的新手,可能我有一个缺陷。感谢您的提示
HTML
<input type="number" class="form-control input-sm" min="1" max="110" ng-model="age.from"/>
<input type="number" class="form-control input-sm" min="1" max="110" ng-model="age.to"/>
<input type="text" class="form-control input-sm" ng-model="rule.data" value="between {{age.from}} and {{age.to}}" />
答案 0 :(得分:4)
我真的不明白为什么要使用<input>
格式化值为min和max的文本。
你宁愿这样做,不是吗?
<input type="number" class="form-control input-sm" min="1" max="110" ng-model="age.from"/>
<input type="number" class="form-control input-sm" min="1" max="110" ng-mdodel="age.to"/>
<span>between {{age.from}} and {{age.to}}</span>
这对你有用吗?
如果字符串只是用户年龄值的占位符,则应该改为:
<input type="number" class="form-control input-sm" min="1" max="110" ng-model="age.from"/>
<input type="number" class="form-control input-sm" min="1" max="110" ng-mdodel="age.to"/>
<input type="text" class="form-control input-sm" ng-model="rule.data" placeholder="between {{age.from}} and {{age.to}}" />
如果您需要将最终字符串输入模型,那么您可以执行以下操作:
<input type="number" class="form-control input-sm" min="1" max="110" ng-model="age.from"/>
<input type="number" class="form-control input-sm" min="1" max="110" ng-mdodel="age.to"/>
<input type="text" class="form-control input-sm" ng-model="rule.data" ng-init="rule.data = 'between ' + age.from + ' and ' + age.to" />
(我假设您没有控制器来正确初始化模型。
如果你这样做,那么只需添加这种类型的行:$scope.rule.data = 'between ' + $scope.age.from + ' and ' + $scope.age.to;
。它应该做的伎俩。)
答案 1 :(得分:1)
可能因许多解决方案而异,您可以在第三个合并结果中添加自定义过滤器,
<input type="text" class="form-control input-sm" ng-model="rule.data | customFilter:age.from:age.to" value="between {{age.from}} and {{age.to}}" />
app.filter('customFilter',function(){
return function(input ,fromage,toage){
//your code for between
return //your calculated age
}
});