我想知道我是否可以制作一个Angular Js指令然后我可以在运行时再次使用它
这是一个简单的例子
app.directive('w34Directive',function(){
return{
template : "<p>test</p>"
}
})
这是HTML
<div w34-directive></div>
但是如果我有一个带有ng-click功能的按钮,它在控制器中执行以下功能
var elem = document.querySelector('.myContainer');
angular.element(elem).append("<div w34-directive></div>");
这意味着将生成一个新的DOM使用该指令,但实际上该指令会在页面加载时触发一次,因此当我添加新的DOM时,它只添加一个空的div标签,而不包含该指令的模板。案例:
<p>test</p>
关于如何克服这个问题的任何想法?
答案 0 :(得分:1)
是的,你可以使用:
<强> $compile 强>
例如:
var el = $compile( "<div w34-directive></div>" )( $scope );
angular.element(elem).append( el );