javascript - AngularJS:将数据绑定(bind)到动态创建的 HTML

标签 javascript jquery html angularjs

我有一个可以动态创建 HTML 表单字段的脚本。我正在尝试使用 Angular 指令来绑定(bind)数据。我相信绑定(bind)没有发生,因为 HTML 元素在页面加载时不存在,因为它们是动态创建的。这是我的 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" 指令。我正在尝试使用以下代码更新标签:

<p>Update Label: <input type="text" ng-model="element_label_1"></p>

但这不起作用。它不绑定(bind)在一起。知道我做错了什么吗?

最佳答案

如果您在 DOM 加载后添加到 DOM 树,您可能会错过 Angular 所做的编译/链接过程。您必须使用 $compile 服务手动编译和链接新元素。

 parent.append(element);
 $compile(element)($scope);

关于javascript - AngularJS:将数据绑定(bind)到动态创建的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144284/

相关文章:

javascript - 拆分 URL 和查询字符串

javascript - 选择不同单选按钮时如何更改段落内容

jquery - 数据表和 Bootstrap 工具提示

javascript - 根据星期几使页面上的文本加粗

javascript - 我需要一些初级程序员的简单逻辑/编程练习

javascript - 基于另一个元素位置的位置划分

javascript - 如何正确解释外部 SVG 文件以与two.js 一起使用?

jquery窗口滚动函数到一个id然后做一些事情

javascript - 不能在 title 属性中使用 HTML 实体吗?

javascript - jQuery 多个按钮单击时显示和隐藏元素