2017-09-17 6 views
0

同じビューで同時に2つのテンプレートを2つの異なるui-viewを使ってレンダリングしようとしています。私はおそらく何かが不足しているが、何がわからない。助けてもらえますか?同じビュー(Ui-Router)で2つのテンプレートをレンダリングしてみましょう

マイApp.js

var routerApp = angular.module('routerApp', ['ui.router']); 

routerApp.config(function($stateProvider) { 

    //$urlRouterProvider.otherwise('/home'); 

    var People = { 
    name: 'People', 
    url: '/People', 
    views: { 
     'PeopleView': { 
     templateUrl: 'People.html' 
     } 
    } 

    } 

    var Company = { 
    name: 'Company', 
    url: '/Company', 
    views: { 
     'CompanyView': { 
     templateUrl: 'Company.html' 
     } 
    } 
    } 

    $stateProvider.state(People); 
    $stateProvider.state(Company); 
}); 

HTML

<div class="container"> 
    <fieldset> 
    <div class="row"> 
     <legend>Content</legend> 
     <div ui-view="PeopleView" class="col col-md-4"></div> 
     <div ui-view="CompanyView" class="col col-md-4"></div> 
    </div> 
    </fieldset> 
</div> 

Full Code

答えて

1

私はあなたが達成するために必要なものはかなりわからないんだけど、私はあなたの意見の両方を置くべきだと思います同じ状態にして作業してください。

$stateProvider.state('mainState', { 
    views: { 
     'CompanyView': { 
     templateUrl: 'Company.html' 
     }, 
     'PeopleView': { 
     templateUrl: 'People.html' 
     } 
    } 
}) 

私は何を意味するのかを説明するためにあなたの塊を編集しました。 - http://plnkr.co/edit/V0lF78MZhrOnwXF7F6Ih?p=preview

+0

こんにちは。私のウェブアプリケーションにあなたの解決策を得た後、私は私のルータに別の問題があります。この方法では、状態が呼び出されるとすべてのビューがレンダリングされます。呼び出されたビューのみをレンダリングする方法があるかどうかを知っていますか?または使用するlazyloadがある場合?私はこの質問に別のトピックを作った: https://stackoverflow.com/questions/47179394/lazyload-to-multiple-views-in-u-router –

関連する問題