我有一个自定义指令,它只是将一个模板编译成另一个模板。
.directive('staticInclude', function($http, $templateCache, $compile) {
return function(scope, element, attrs) {
var templatePath = attrs.staticInclude;
//
$http.get(templatePath, {
cache: $templateCache
}).success(function(response) {
var contents = element.html(response).contents();
$compile(contents)(scope);
});
};
});
我像这样使用它:
<div static-include="components/campaign/details.html"></div>
因为我为控制器使用别名(使用角度 UI 路由器),所以任何模板中的所有模型都像:
<p>Delivery Time: <span class="text-medium">{{CtrlAlias.campaign.newsletter.sentDate | date:CtrlAlias.currentUser.params.settings}}</span></p>
如何使此指令在 CtrlAlias 更改的多个模板中工作?
我尝试更改 $compile(contents)(scope); 进入 $compile(contents)(scope.newCtrlAlias);
有任何想法吗?