2016-08-11 27 views
1

URLを '/ nameDisplay'に変更すると、 'nameDisplay'コンポーネントが表示されないようです。エラーは表示されず、テンプレートはui-viewに挿入されません。コンポーネントの代わりに '状態'のテンプレートを使用すると、それ以外の場合は何も表示されません。角度UIルーターを使用してコンポーネントをレンダリング

私が使用しているバージョン管理は次のとおりです。 角度 - 1.5.8 角度UIルータ - 0.3.1

angular.module('app.nameDisplay', [uiRouter]) 
.component('nameDisplay', { 
    controller: function(){ 
     this.name = "Keir Beckett"; 
     this.age = 24; 
     this.changeInfo = function(){ 
      this.name = "Golash Bista"; 
      this.age = 66; 
     } 
    }, 
    template: "" + 
     "<div>" + 
      "<h2>{{$ctrl.name}}</h2>" + 
      "<h4>{{$ctrl.age}}</h4>" + 
      "<button ng-click='$ctrl.changeInfo()'>Change Info</button>" + 
     "</div>" 
}).config(($stateProvider, $urlRouterProvider) => { 
    $stateProvider.state('nameDisplay', { 
     url: '/nameDisplay', 
     component: 'nameDisplay' 
    }) 
    .state("otherDisplay", { 
     url: '/otherDisplay', 
     template: '<h1>Other Display</h1>' 
    }); 
    $urlRouterProvider.otherwise('/'); 
}) 
.name; 
+1

を?通常、これは 'template: '''を持つことによって行われます。 – Claies

答えて

4

使用してコンポーネントを直接UI-ルータの設定でのみUI-ルータ1.0から動作します。 0をオンにします。したがって、(現在はまだ)ベータ版にアップグレードするか、<name-display></name-display>のテンプレートを使用してコンポーネントを含めるために0.3.xスタイルを使用する必要があります。

ここに同様の質問に対する私の答えを参照してください:私は `state`オブジェクトのプロパティとして` component`を見たことがない...これは新しい構文であるAngular 1.5 - UI-Router, Resolve Object returning undefined values

関連する問題