У меня есть сценарий, который динамически создает поля формы HTML. Я пытаюсь использовать Angular директивы для привязки данных. Я считаю, что привязка не происходит, потому что элементы HTML не присутствуют при загрузке страницы, так как они динамически создаются. Вот мой HTML:AngularJS: привязка данных к динамически созданному HTML
<div id="form-builder-wrapper">
<form class="form-horizontal" role="form" autocomplete="off">
<ul class="handles">
<br />
<!--Dynamic HTML is being appended here with jQuery-->
</ul>
<button class="btn btn-primary m-t-20 hide" type="submit">Submit</button>
</form>
</div>
Мой jQuery динамически добавляет мои HTML-элементы в форму выше. Вот пример элемент, который в настоящее время прилагаются:
<div class="form-group requiredField" id="element_1" data-type="textbox">
<label for="element_label_1" class="col-sm-3 control-label" ng-bind="element_label_1">First Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" name="element_1" id="element_label_1" required="">
</div>
</div>
Как вы можете видеть, в моем label
поле, я прилагаю ng-bind="element_label_1"
директиву. Я пытаюсь обновить label
с этим кодом:
<p>Update Label: <input type="text" ng-model="element_label_1"></p>
Но это не работает. Он не является обязательным. Любая идея, что я делаю неправильно?
самая большая проблема заключается в использовании jQuery для добавления в DOM в угловом приложении. Без html, выполняемого с помощью '$ compile', угловые не могут инициализировать какие-либо из директив. – charlietfl
@charlietfl Я как бы угловатый newb, не возражаете ли вы дать полный пример кода, который я мог бы использовать? – three3
как @pixelbits Я немного неохотно, не видя своего кода. Достаточно легко мигрировать, или это может быть легко помещено в директиву, где вы можете получить доступ к угловой области, чтобы использовать '$ compile'. Если вы пытаетесь добавить углы поверх тяжелой страницы jQuery, то это может быть не совсем хорошая идея. Лучше набросок вашего статуса развития поможет определить, что – charlietfl