控制器已加载但Templaturl(View)未加载

时间:2015-10-10 08:32:51

标签: angularjs routes state

注意:请不要将此标记为重复。我把这个注释放在第一行,因为我知道这个问题已经被问了很多次。 但是我在没有找到解决方案的情况下完成了大部分工作。

以下是我的app.js的状态配置:

.config(function($stateProvider, $urlRouterProvider) {
  // Ionic uses AngularUI Router which uses the concept of states
  // Learn more here: https://github.com/angular-ui/ui-router
  // Set up the various states which the app can be in.
  // Each state's controller can be found in controllers.js
  $stateProvider
    .state('intro', {
      url: "/intro",
      templateUrl: "intro.html",
      controller: 'IntroCtrl'
    })

  .state('accedituser', {
      url: '/user',
      //templateUrl : 'templates/followerSliding.html',
      templateUrl: 'tab-account.html',
      controller: 'EditUserCtrl'
    })
    .state('welcome', {
      url: "/welcome",
      templateUrl: "partials/welcome.html",
      controller: 'welcomeCtrl'
    })
    .state('index', {
      url: '/index',
      templateUrl: 'slidingTabs.html',
      controller: 'UserCtrl'
    })
    .state('index.account', {
      url: '/account/:userid',
      views: {
        'index-account': {
          templateUrl: 'tab-user.html',
          controller: 'UserCtrl'
        }
      }
    })
    .state('index.home', {
      url: '/home',
      views: {
        'index-home': {
          templateUrl: 'tab-post-list.html',
          controller: 'PostsCtrl'
        }
      }
    })
    .state('index.post-detail', {
      url: '/post/:id',
      views: {
        'index-posts': {
          templateUrl: 'post-detail.html',
          controller: 'PostsCtrl'
        }
      }
    })
    .state('index.addpost', {
      url: '/addpost/:id',
      views: {
        'index-addpost': {
          templateUrl: 'add-post.html',
          controller: 'myCtrl'
        }
      }
    })
    .state('index.image', {
      url: '/image/:id',
      views: {
        'index-image': {
          templateUrl: 'image.html',
          controller: 'myCtrl'
        }
      }
    })
    .state('index.chats', {
      url: '/chats',
      views: {
        'index-chats': {
          templateUrl: 'tab-clomastocash.html',
          controller: 'ccCtrl'
        }
      }
    })
    .state('index.chat-detail', {
      url: '/chats/:chatId',
      views: {
        'index-chats': {
          templateUrl: 'chat-detail.html',
          controller: 'ccDetailCtrl'
        }
      }
    })
    .state('index.collections', {
      url: '/collections',
      views: {
        'index-collections': {
          templateUrl: 'tab-collections.html',
          controller: 'CollectionsCtrl'
        }
      }
    })
    .state('index.vendors', {
      url: '/vendors',
      views: {
        'index-vendors': {
          templateUrl: 'tab-vendors.html',
          controller: 'VendorsCtrl'
        }
      }
    })
    .state('index.vendor-detail', {
      url: '/vendors/:vendorId',
      views: {
        'index-vendors': {
          templateUrl: 'vendor-detail.html',
          controller: 'VendorsDetailCtrl'
        }
      }
    })
    .state('index.search', {
      url: '/search',
      views: {
        'index-search': {
          templateUrl: 'tab-search.html',
          controller: 'SearchAllCtrl'
        }
      }
    })
    .state('search.stores', {
      url: '/stores',
      views: {
        'search-stores': {
          templateUrl: 'tab-vendors.html',
          controller: 'SearchAllCtrl'
        }
      }
    })
    .state('search.people', {
      url: '/people',
      views: {
        'search-people': {
          templateUrl: 'tab-people.html',
          controller: 'SearchAllCtrl'
        }
      }
    })
    .state('search.products', {
      url: '/products',
      views: {
        'search-products': {
          templateUrl: 'tab-vendors.html',
          controller: 'SearchAllCtrl'
        }
      }
    })

  // if none of the above states are matched, use this as the fallback
  // $urlRouterProvider.otherwise('/tab/post');
  $urlRouterProvider.otherwise('/index/home');
  //$urlRouterProvider.otherwise("/welcome");

});

我有路径 index.account

的这个特殊问题

我正在尝试从 search.people 中加载它,如下所示:

<a class="tab-item" href="#/index/account/{{person.ID}}" ></a>

URl更改, UserCtrl 中的代码,也是 index.account 的控制器也会被调用。但是templateUrl没有被加载。

我尝试在ng-click中调用 $ state.go 而不是href,但不起作用。

如果我在任何'索引'中都这样做。路线,它的工作原理。我认为加载'索引'有一些问题。来自'搜索'的路线。

请帮忙。我可能在这里做了一些概念错误的事情。

编辑1 app.js位于'js'文件夹&amp;所有html都在'templates'文件夹中

我正在使用模板缓存,因此我的模板合并到一个templates.js文件中,这就是为什么在我的 TemplateUrl 中我没有前缀'templates /'

这是我的目录结构:  目录E:\ programming \ Nodejs \ ion2 \ www

09/25/2015  11:06 PM    <DIR>          .
09/25/2015  11:06 PM    <DIR>          ..
10/04/2015  10:57 AM    <DIR>          css
09/16/2015  01:21 PM    <DIR>          dist
09/06/2015  08:01 PM    <DIR>          fonts
09/06/2015  08:01 PM    <DIR>          img
09/15/2015  01:59 PM               170 index.html
10/10/2015  01:33 PM    <DIR>          js
09/06/2015  08:01 PM    <DIR>          lib
08/02/2015  03:17 PM                99 logoutcallback.html
09/25/2015  11:06 PM             7,134 main.html
08/02/2015  03:17 PM               137 oauthcallback.html
09/06/2015  08:01 PM    <DIR>          partials
08/20/2015  10:22 AM            27,844 selection.json
10/10/2015  12:49 PM    <DIR>          templates
08/02/2015  03:17 PM               318 web.config

0 个答案:

没有答案