有什么办法添加一个元素是一个Angular指令与像append()的jQuery方法和Angular做它的编译/链接,使它工作,就像你包括指令在第一位?
例:
app.directive('myAngularDirective',[function () { ... // Lots of stuff in here,works when used normally but not when added via j }); $("body").append("<my-angular-directive />");
它目前只是附加一个空的DOM元素,称为“my-angular-directive”,但Angular不踢,做它的魔法。
解决方法
正确的方法是使用:
$compile,如果你的指令返回:指令定义对象(这是btw。推荐的方式去),然后你可以调用链接函数(例如注入范围)。
$('body').append($compile("<my-angular-directive />")(scope)); scope.$apply();