【问题标题】:How do I load HTML from a string and have AngularJS bindings work如何从字符串加载 HTML 并让 AngularJS 绑定工作
【发布时间】:2013-10-10 20:31:42
【问题描述】:

我有一个 Angular 项目,它将把外部 HTML 从一个字符串变量加载到一个 div 中,该 div 当前有一个范围为它的控制器。

我将从 var 加载的 HTML 将在 html 中具有角度绑定。加载后,绑定似乎不起作用。我想知道如何获得角度来识别新的 HTML 并解析绑定,以便正确呈现内容。

现在 HTML 加载,但我最终看到像 {{myvar}} 这样的东西呈现为文本,而不是呈现作用域变量。

【问题讨论】:

  • 你能发布你的代码吗?还要检查您的浏览器控制台。如果控制器之类的东西无法正确绑定,您将在控制台中看到错误,并在输出中看到此类行为。

标签: html angularjs


【解决方案1】:

您需要手动执行 Angular 在 ng-view 指令中自动执行的操作。 像这样的东西应该可以解决问题:

var html = '...';
var linker = $compile(html); // compile html
var element = linker($scope, function () { // remember to pass correct scope here
}); // link compiled html with scope
$('.target-div').append(element);

【讨论】:

    【解决方案2】:

    像这样输出到您的元素:

    <p ng-bind-html="myvar.name"></p>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-12
      • 1970-01-01
      • 2021-10-24
      • 2023-03-15
      • 2013-11-19
      • 1970-01-01
      • 2013-08-22
      相关资源
      最近更新 更多