AngularJS - 在指令中切换templateUrl

时间:2016-09-28 11:14:05

标签: javascript angularjs

这是我想要切换templateUrl的代码示例。仅当您在localstorage或backend中保存数据时刷新页面时,此方法才有效。

app.directive('myPanel', ['myService', function(myService) {
    if(myService.isThisTrue()) {
        return {
            restrict: 'E',
            templateUrl: '/views/isTrue.html'
        }
    } else {
        return {
            restrict: 'E',
            templateUrl: '/views/isFalse.html'
        }
    }
}]);

我没有找到一个好的方法来做得更好。有没有人有更好的解决方案?

1 个答案:

答案 0 :(得分:2)

templateUrl可以是返回url字符串

的函数
app.directive('myPanel', ['myService',function(myService) {
    return {
      restrict: 'E',
      templateUrl: function() {
        return myService.isThisTrue() ? '/views/isTrue.html' : '/views/isFalse.html';
      }
    }
  }
])