我有用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/