簡體   English   中英

angular-ui-router僅加載模板,但不加載未加載的控制器

[英]angular-ui-router only loads template but not controller not loaded

我嘗試將我的Angular應用程序從使用ngRoute遷移到uiRoute。 除控制器外,一切正常。 它們很簡單,不像ngRoute那樣加載,我不知道為什么。 正如我從uiRoute看到它應該像ngRoute一樣工作,但事實並非如此。 沒有異常拋出。 我也沒有找到類似我的類似配置的任何示例,盡管它非常簡單。 我回家有人可以告訴我控制器藏在哪里。

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

因此對於ngRoute,控制器應該可以通過“主頁”訪問,但看起來它只是空的:(

;(function(angular) {
'use strict';

 angular
 .module('MainRouter', ['ui.router'])
 .config(['$stateProvider', function($stateProvider) {
  $stateProvider
    .state('home', {
      url: '',
      views: {
        "mainView": {
          templateUrl: 'home.html'
        }
      },
      controller: 'HomepageCtrl',
      controllerAs: 'homepage'
    });
 }]);
})(angular);

當你在狀態定義中使用views選項時, ui-router引擎不會查找在狀態級別定義的templateUrlcontroller ,基本上你只需要從namedView定義中提供controllertemplateUrl值。 在您的情況下,您應該在mainView定義對象中添加控制器。

.config(['$stateProvider', function($stateProvider) {
  $stateProvider
    .state('home', {
      url: '',
      views: {
        "mainView": {
          templateUrl: 'home.html',
          controller: 'HomepageCtrl',
          controllerAs: 'homepage'
        }
      },
    });
}]);

演示Plunkr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM