当前位置: 首页 > 面试题库 >

如何通过jQuery的.append()添加DOM元素(Angular指令)?

白智
2023-03-14
问题内容

是否有任何方法可以使用jQuery方法添加作为Angular指令的元素,append()并让Angular进行其编译/链接以使其正常工作,就像您首先将指令包括在内一样?

例:

app.directive('myAngularDirective', [function () {
    ...
    // Lots of stuff in here; works when used normally but not when added via jQuery
});

$("body").append("<my-angular-directive />");

目前,它只是附加了一个空的DOM元素,称为“ my-angular-directive”,但Angular不会发挥作用并发挥作用。


问题答案:

正确的方法是使用:$
compile,
并在指令返回的情况下:(directive definition object这是推荐的方法)然后可以link在其上调用函数(scope例如,注入)。

$('body').append($compile("<my-angular-directive />")(scope));
scope.$apply();


 类似资料:
  • 问题内容: 我想知道如何使用此代码段: 我知道这是关于编译阶段的,但是我不明白这一点,所以简短的解释将是非常感谢。 问题答案: 将另一个指令添加到同一元素的指令: 类似答案: 这是一个小矮人:http ://plnkr.co/edit/ziU8d826WF6SwQllHHQq?p=preview 更清洁的解决方案-完全不使用: 矮人:http ://plnkr.co/edit/jY10enUVm3

  • 问题内容: 我试图在我的Angular项目中将keyup事件附加到指令。这是指令: 这是模板中的html: 我想在链接函数中访问并将keyup事件附加到它。我知道我可以用jQuery来获得它,但是那不是Angular的方法。从dom中获取该元素的正确方法是什么? 问题答案: 您可以使用Angular’ ‘ 方法轻松完成此操作: 实时示例:http://jsfiddle.net/cherniv/S7

  • 问题内容: 说我有一个和我和使用jQuery的元素。我如何检测元素上何时发生此类事件? 问题答案: 不推荐使用以下方法 您可以使用DOMNodeInserted和DOMNodeRemoved

  • 主要内容:添加新的 HTML 内容,jQuery append() 方法,实例,jQuery prepend() 方法,实例,通过 append() 和 prepend() 方法添加若干新元素,实例,jQuery after() 和 before() 方法,实例,通过 after() 和 before() 方法添加若干新元素,实例通过 jQuery,可以很容易地添加新元素/内容。 添加新的 HTML 内容 我们将学习用于添加新内容的四个 jQuery 方法: append() - 在被选元素的结

  • 本文向大家介绍jQuery添加删除DOM元素方法详解,包括了jQuery添加删除DOM元素方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了jQuery添加删除DOM元素的方法。分享给大家供大家参考,具体如下: 介绍 DOM是Document Object Modeule的缩写,一般来说,DOM操作分成3个方面。 1、DOM Core DOM Core并不专属于javascript,

  • Go语言的内建函数 append() 可以为切片动态添加元素,代码如下所示: 不过需要注意的是,在使用 append() 函数为切片动态添加元素时,如果空间不足以容纳足够多的元素,切片就会进行“扩容”,此时新切片的长度会发生改变。 切片在扩容时,容量的扩展规律是按容量的 2 倍数进行扩充,例如 1、2、4、8、16……,代码如下: 代码输出如下: len: 1  cap: 1 pointer: 0