角度指令templateURL未加载。为什么?

时间:2014-12-10 00:09:40

标签: angularjs angularjs-directive mean.io

我在Angular中创建了一个指令。指令'编译'当我使用template属性时。使用templateURL时,它不会编译。

templateURL文件在角度页面的控制台或网络选项卡中没有404。它是200作为浏览器URL。

我错过了什么?

'use strict';

angular.module('mean.profile').directive('inProfileSidebar', function() {
  return {
    restrict: 'A',
    scope: {
      data: '=',
      editable: '=',
    },
    template: '<div><h2>inProfileNarrow</h2><div>{{data}}</div><div>{{editable}}</div></div>',
//    templateURL: '/profile/views/inProfileSidebar.html',
  };
});

我的应用的网址是:http://localhost:3000/#!/profile/ 此网址为200:http://localhost:3000/profile/views/inProfileSidebar.html

inProfileSidebar.html

<div>
  <h2>inProfileNarrow</h2>
  <div>{{data}}</div>
  <div>{{editable}}</div>
</div>

在此HTML中使用:

<div class="col-md-4">
  <div in-profile-sidebar data="data.profile" editable="data.profile.editable"></div>
</div>

我没有在浏览器控制台中看到任何错误,并且浏览器的网络日志中没有对templateURL的请求。

我使用template时有效,但templateURL无效。为什么呢?

1 个答案:

答案 0 :(得分:4)

我没有测试它,但从快速看看,你似乎错误地命名了属性。

应该是&#39; templateUrl&#39;,NOT&#39; templateURL&#39; (只有&#39; U&#39;是大写的。)