我有用 Angular.js 编写的元应用程序,我可以使用 Angular 创建应用程序,但有一些限制。我可以使用和创建指令并创建自动添加到 $route 的页面。
我需要指令widget
将使用其他页面作为模板,但页面 url 需要是动态的(基于属性)<widget name="page"/>
将包含使用 name
的模板属性,这是我的代码:
return {
restrict: 'EA',
replace: true,
transclude: true,
compile: function(tElement, tAttrs, transclude) {
this.templateUrl = $route.routes['/<APP-NAME>/' + tAttrs.name].templateUrl;
}
};
我在想也许我可以使用 $http 来获取模板,但是我可以从编译函数返回 Promise 以及如何替换模板吗?
最佳答案
templateUrl
可以是一个函数。所以你可以写一些类似的东西
function getUrl(tElement, tAttrs) {
return tAttrs.name;
}
return {
restrict: 'EA',
replace: true,
templateUrl: getUrl
};
Angular 获取模板本身。
关于javascript - 包含从属性创建 TemplateUrl 的页面的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22968981/