【问题标题】:How to inject html in Angular Directive when DOM is ready?DOM准备好后如何在Angular指令中注入html?
【发布时间】:2015-04-02 08:24:34
【问题描述】:

我有一个生成角度滑块的指令(使用 jquery-ui)。我需要在滑块子 (<a>) 中注入 HTML 代码。我的问题是我无法访问<a> child(我的托管元素),因为这是在整个页面准备好之后生成的(可能在我的链接功能之后触发了 angular-slider 模块)。

所以,在我的指令中,我有这个滑块:

<div ui-slider="yearsNumberSlider.options" ng-model="yearsNumberSliderValue.value"></div>

只有在 DOM 准备好后,我的托管元素 (&lt;a&gt;) 才可用,但为时已晚,我的指令链接函数无法注入所需的 HTML。

我应该使用 $watch 还是 $observe 来查看上面的代码何时有一些内容,然后尝试将我的 HTML 注入到它的 &lt;a&gt; 子元素中?

谢谢!

更新 我找到了一个解决方案,但我不确定是否是注入我的 HTML 代码的正确方法:

link: function(...){
...
$timeout(function() {
      element.find('a').append(myHTML);
});
}

【问题讨论】:

  • 请显示您当前拥有的代码
  • 您的目录优先级是什么?您可以为您的指令设置比滑块指令更低的优先级,以便您的指令在滑块指令之后运行
  • @SamirDas 优先级不起作用。

标签: javascript angularjs jquery-ui angularjs-directive


【解决方案1】:

这似乎是我测试后的解决方案$(window).load

link: function(...){
...
$timeout(function() {
  element.find('a').append(myHTML);
});
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 2014-03-29
    • 2013-09-02
    相关资源
    最近更新 更多