javascript - 包含从属性创建 TemplateUrl 的页面的指令

标签 javascript angularjs angularjs-directive

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

相关文章:

javascript - 为什么我的 "PURE JAVASCRIPT BASED"离线文件不支持 "onload"事件?

javascript - AngularJS/JSON : Refer to array member by value instead of index?

angularjs - 将数组对象从 Controller 传递到 AngularJS 中的自定义指令

javascript - AngularJS 适当的事件与 parent 和 child 的指令出价

javascript - Angular Directive(指令)中的 CSS

未定义 Javascript setInterval 函数

javascript - jQuery 函数使用 href 而不是 input?

javascript - 跨浏览器 "jump to"/"scroll"textarea

angularjs - 在导航时自动关闭模式(单击 anchor 时)

javascript - 如何在 Angular 列中使用ng-repeat?