Angular Directive templateUrl不工作

时间:2014-05-03 16:29:58

标签: angularjs

我正在试图弄清楚如何创建一个我可以在整个应用程序中使用的配置。我已经快速创建了一个测试,看它是否会起作用,只要使用模板而不是templateUrl,它就会在我创建的指令中完成。当我尝试使用外部模板时,它不起作用。请看看这个并帮助我知道我做错了什么或者能做得更好。

http://plnkr.co/edit/ZSeIGKtbfIoaZFtshDaB?p=preview

1 个答案:

答案 0 :(得分:1)

使用template它是有效的,因为您在Javascript中将HTML构建为字符串。

使用templateUrl时,您使用的是包含HTML的template.html。这意味着例如config.dev.name将被视为普通文本,并且不会被评估。

您可以在示波器中使用config并使用插值来获得正确的值。

使用Javascript:

myApp.directive('directive', function(config) {
  return {
    restrict: 'E',
    templateUrl: 'template.html',
    link: function(scope, element, attrs) {
      scope.config = config;
    }
  };
});

HTML:

<div>{{config.dev.name}}<br>Version: {{config.dev.version}}</div>