Angularjs 动态编译角度指令

Angularjs 动态编译角度指令,angularjs,angular-material,Angularjs,Angular Material,如果我添加角材质指示md按钮,如下所示: angular.element( document.body ).append( '<md-button> Material' ) angular.element(document.body).append('Material') 它不会识别出它是角度指令。 问题是-如何重新编译范围/元素不确定是否应该这样做,但正确的方法是使用$compile函数: angular.element(document.body).append($compi

如果我添加角材质指示md按钮,如下所示:

angular.element( document.body ).append( '<md-button> Material' )
angular.element(document.body).append('Material')
它不会识别出它是角度指令。
问题是-如何重新编译范围/元素不确定是否应该这样做,但正确的方法是使用
$compile
函数:

angular.element(document.body).append($compile('<md-button> Material')($scope))
angular.element(document.body).append($compile('Material')($scope))

工作。

虽然我理解您的要求,但我不认为这样附加是个好主意(angular应该附加您需要的所有内容,因此在您看到屏幕上的指令之前,它会在DOM上执行所有需要执行的操作)。这实际上是我需要的。在呈现DOM之后,我需要向DOM动态添加指令并呈现/重新编译它。可能吗?我将给出与@MVCD完全相同的建议。是的,这是可能的,但我真的不会发布一个初学者可能会读到的明确的解决方案(这可能会导致他们出现一些非常糟糕的做法)。我想知道你为什么认为你需要这个?可能有一种更干净的方法来添加这个md-button。当单击按钮时,我必须动态地将元素添加到DOM中,这是一个指令。我实际上认为您需要的是一个路由器。。。或者只是很好地使用angular内置指令。你能提供全球环境吗?这里是一个plunker与一些动态html内容使用角度。。。它能满足你的一些需求吗?这对我来说很有效,但我很好奇为什么每个人都会考虑这种不良的行为。我的用例是,当用户点击某个对象时,即时创建“面板”来显示该对象的信息,然后当用户点击“关闭”图标时,将其销毁。我认为这样做比像冈崎骏的例子那样不断更新ng重复更好,但也许这是因为我对Angular的理解不够好?