javascript - Angular Directive(指令)范围值

标签 javascript angularjs angularjs-directive angularjs-scope

  <tab page="book"> </tab>
  <tab page="dial"> </tab>
  <tab page="groupe"> </tab>
  <tab page="log"> </tab>
  <tab page="star"> </tab>

正如你所看到的,我有一个名为tab的指令,并且这个tab有一个属性page

我需要根据page属性的值更改templateUrl

if the page value is page="abc" then the templateUrl should be templateUrl: 'tab/abc.html',

这是我的指令代码

contactBook.directive('tab', function() {
    let m = 'tab/default.html';
    return {
        restrict: 'E',
        scope: {
            page: '@',
        },
        templateUrl: m,
        link: function(scope, element, attributes) {
            m = "tab/" + scope.page + ".html";      
        },
    };
});

这在逻辑上可能吗..?或任何替代方法来完成此操作..?

最佳答案

templateUrl: function(elem,attrs) {
    return "tab/" + attrs.page + ".html" || 'tab/default.html';
},

关于javascript - Angular Directive(指令)范围值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39739244/

相关文章:

javascript - 日期输入和 Angular 奇怪错误

javascript - Protractor 捕获失败时的屏幕截图

javascript - 将 ng-model 值传递给 angular 指令

angularjs-directive - 带有从外部调用的方法的 AngularJS 指令

javascript - 动态加载内容后 jQuery 动画 div 高度

javascript - 从 REST API 获取数据到 jsreports

javascript - 如何循环运行angularjs ajax请求但有延迟?

javascript - 从 String 变量渲染 CSS 文件。

javascript - SlickGrid:使用 DataView 而不是原始数据的简单示例?

javascript - div 上的 Angular 指令,元素没有焦点方法