2015-09-25 2 views
2

Мне нужна помощь. У меня есть проект, и мне нужно дублировать узлы html динамически. Эти узлы имеют нг-связывания и нг-модели атрибуты, как это:Изменение ng-bind и ng-model динамически

<input class="quest_model" type="text" data-ng-model="quest"> 
<span ng-bind="quest" class="quest_bind"></span> 

Я могу изменить атрибуты ти Jquery как это:

quest.find("span.quest_bind").attr("ng-bind", "quest" + seq); 

, но, когда я нажимаю кнопку, чтобы дублировать узел, магия angularJS (ng-bind) не происходит. Кто-нибудь может мне помочь?

ответ

0

Используйте объект JSon

$scope.quest = { 
'this': 'some random value', 
'that': 'some other value' 
} 
$scope.seq = 'this' 

то все, что вам нужно сделать, это ссылка объект JSON в контроллере

<span ng-bind="quest[seq]" class="quest_bind"></span> 

установить нг-модель ввода в $ scope.seq который позволит вам контролировать, к чему привязан ваш элемент span.

<input class="quest_model" type="text" ng-model="seq"> 

Так что, если вы печатаете «что» в вашем поле ввода будет связать калибровочный тег scope.quest.that$, что соответствует «случайное значение»

Аналогично, если вы печатаете «это» в вашем поле ввода будет связать калибровочный тег $ scope.quest.this, которая равна «другое значение»

+0

Добавление новых данных в ваш объект квест будет очень легко. чтобы добавить новую запись с именем «quest1», вы просто использовали бы $ scope.quest.quest1 = «blah blah blah» –

+0

Тогда, если вы набрали квест 1 в свой ящик ввода, он привяжет «blah blah blah» к вашему элементу span –