2015-05-13 3 views
0

У меня есть базовый fiddle, который является сокращенной версией того, что у меня есть на моем сайте.Создание модели из нескольких моделей в AngularJS

Мне было интересно, если есть способ связать строки таблицы динамически с текстовой областью, чтобы создать ng-model, состоящий из серверных других данных ng-model?

Я хотел бы иметь каждую строку в списке или что-то, что я мог бы добавить дополнительный текст из элемента ввода текста и связать все с текстовой областью. Изменения в обоих будут отражены в предварительном просмотре формы.

Возможно ли это?

+0

Любопытно, что случай использования. Следует ли вставлять существующие данные или создавать данные для копирования? Подход к этому будет различным для каждого случая – charlietfl

+0

Чтобы преобразовать его в своего рода сообщение в форуме, чтобы включить в него причину запроса элементов. Я не уверен, есть ли лучший способ обойти это. – redFIVE

+0

Не уверен, что я следую этому объяснению. – charlietfl

ответ

1

Во-первых, в вашей скрипке была крошечная ошибка, requestQty должен быть объектом, индексированным элементом itemId, или массивом, в котором индексом является идентификатор элемента, но так как это сочетание обоих.

Теперь о вашем вопросе вы действительно можете сохранить привязку между текстовой областью и вашей моделью, а не напрямую с ng-model, так как textarea имеет дело со строкой, а ваши данные являются объектами.

Один из способов обойти это, имея две разные переменные: объект 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);  
}); 
Смежные вопросы