从 AngularJS 中的多个模型创建模型
Creating model from multiple models in AngularJS
我有这个基本的 fiddle,它是我网站上的精简版。
我想知道是否有办法将 table 行动态绑定到文本区域,以创建由多个其他 ng-model
数据组成的 ng-model
?
我想将每一行都放在一个列表中,或者我可以从文本输入元素中添加额外的文本并将其全部绑定到文本区域。对其中任何一个的更改都会反映在表单预览中。
这可能吗?
首先,你的fiddle有一个小错误,requestQty
应该是一个由itemId索引的对象,或者是一个索引为item id的数组,但实际上它是一个两者的混合。
现在关于您的问题,您确实可以在文本区域和模型之间保持绑定,但不能直接与 ng-model
绑定,因为文本区域处理字符串,而您的数据是对象。
解决这个问题的一种方法是使用两个不同的变量,一个 model
对象和一个 stringModel
字符串,并使用自定义 $watchers 保持两者同步。
您可以在此处查看该解决方案的实施:
http://jsfiddle.net/dscace5q/1/
$scope.$watch('model', function(m) {
$scope.stringModel = angular.toJson(m, 2);
}, true);
$scope.$watch('stringModel', function(s) {
$scope.model = angular.fromJson(s);
});
我有这个基本的 fiddle,它是我网站上的精简版。
我想知道是否有办法将 table 行动态绑定到文本区域,以创建由多个其他 ng-model
数据组成的 ng-model
?
我想将每一行都放在一个列表中,或者我可以从文本输入元素中添加额外的文本并将其全部绑定到文本区域。对其中任何一个的更改都会反映在表单预览中。
这可能吗?
首先,你的fiddle有一个小错误,requestQty
应该是一个由itemId索引的对象,或者是一个索引为item id的数组,但实际上它是一个两者的混合。
现在关于您的问题,您确实可以在文本区域和模型之间保持绑定,但不能直接与 ng-model
绑定,因为文本区域处理字符串,而您的数据是对象。
解决这个问题的一种方法是使用两个不同的变量,一个 model
对象和一个 stringModel
字符串,并使用自定义 $watchers 保持两者同步。
您可以在此处查看该解决方案的实施:
http://jsfiddle.net/dscace5q/1/
$scope.$watch('model', function(m) {
$scope.stringModel = angular.toJson(m, 2);
}, true);
$scope.$watch('stringModel', function(s) {
$scope.model = angular.fromJson(s);
});