我可以从多个输入值创建一个很好的字符串:
<input ng-model="first">
<input ng-model="second">
<span ng-model="result">{{first}} and {{second}}</span>
我现在如何从JS检索结果字符串?理想情况下像
var myResult = $scope.result
但我觉得我错过了什么......
答案 0 :(得分:3)
我建议做更像这样的事情:
查看强>
<input ng-model="first">
<input ng-model="second">
<span>{{result}}</span>
<强>控制器强>
$scope.$watchCollection("[first,second]", function(newVals){
$scope.result = newVals[0] + " and " + newVals[1];
});
然后您可以使用var myResult = $scope.result
。这是一个fiddle。但仅仅为了更多的上下文,ngModel
通常不用于绑定到非输入。来自docs(强调我的):
ngModel指令使用NgModelController将输入,select,textarea(或自定义表单控件)绑定到作用域上的属性,NgModelController由此指令创建并公开。
因此,根据最终用例,您可能希望创建自己的指令,但您可能还想问自己,您尝试做的是否是必要的,或者是否有更好的方法来实现它。