我需要在指令中使用动态模板。我使用replaceWith()方法:
var template;
switch (scope.type) {
case 'type1':
template = angular.element('<div>Type1</div>');
break;
case 'type2':
template = angular.element('<div>Type2</div>');
break;
}
element.replaceWith(template);
在范围中添加新元素之前,它可以正常工作。当$ scope更新时,我在容器中看到两个元素:
<some-content ng-repeat="content in contents" type="content.type" class="ng-scope ng-isolate-scope"></some-content>
<div class="test">Type1</div>
<some-content ng-repeat="content in contents" type="content.type" class="ng-scope ng-isolate-scope"></some-content>
<div class="test">Type2</div>