Angular ui-router`模板:`工作,但不是`templateUrl:`

时间:2015-11-13 11:49:36

标签: angularjs angularjs-directive angular-ui-router

使用template: 'test',有效,但用templateUrl: 'static/app/partials/filter.html',替换该行没有做任何事情,我假设因为找不到部分(但尚未验证)。 filter.html的路径为Project/app/static/app/partials/filter.html,其中Project位于C:\Users\david\Dropbox\JetBrains\

这与Django项目一起使用,我一直在跟随Angular的DjangoCon演示设置示例,其中正常工作的templateUrl为templateUrl: 'static/tweeter/partials/tweet-list.html',

我已经尝试过对templateUrl的变体,假设这是问题,通过删除和添加各种目录层。如果这是一个目录路径问题,我应该使用哪个目录作为参考?

抱歉,我无法弄清楚如何链接到plnkr,我只是在这里复制代码:

指数:

<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-resource.min.js"></script>
  <script data-require="ui-router@*" data-semver="0.2.15" src="http://rawgit.com/angular-ui/ui-router/0.2.15/release/angular-ui-router.js"></script>
</head>

<body ng-app="mapApp">
  <div ui-view>
    <p>test failed</p>
  </div>
</body>
</html>

部分:

<h1>test success</h1>

JS:

angular
  .module('mapApp', ['ui.router'])
  .config(function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');
    $stateProvider
      .state('test', {
        url: '/',
        templateUrl: 'filter.html',
      });
  })

4 个答案:

答案 0 :(得分:0)

您的templateUrl应仅为templateUrl: 'partials/filter.html'

答案 1 :(得分:0)

使您的路径相对于JS文件所在的位置。你也在浏览器的控制台上看到了什么。

答案 2 :(得分:0)

我遇到了与Django项目相同的问题,但是在将templateUrl路径设置为从项目根目录开始之后它才起作用。试试templateUrl: '/app/static/app/partials/filter.html'。希望有用!

答案 3 :(得分:0)

模板字符串工作正常但不是templateUrl

我也遇到了templateUrl的问题:

以下是Chrome控制台上的错误

angular.js:14525 RangeError: Maximum call stack size exceeded
    at Object.error (angular.js:14525)
    at angular.js:11008
    at invokeLinkFn (angular.js:10428)
    at nodeLinkFn (angular.js:9815)
    at compositeLinkFn (angular.js:9055)
    at publicLinkFn (angular.js:8920)
    at lazyCompilation (angular.js:9311)
    at boundTranscludeFn (angular.js:9098)
    at controllersBoundTransclude (angular.js:9865)
    at update (angular-route.js:1172) "<!-- ngView: -->"