2016-06-22 6 views
1

У меня есть приложение angularjs с компонентами, и я хочу добавить представление как дочерний элемент другого представления с помощью ui.router. я честно не думаю, что ui.router полностью поддерживает компонент, это может произойти в версии upcomping 1.0. Но в то же время я могу использовать динамическое отображение экрана?динамический вложенный вид с угловым компонентом

это мой $ stateProvider (я сделал мои попытки)

$stateProvider 
    .state('home', { 
    url :'/home', 
    template :'<home></home>' 
    }) 
    .state('projects', { 
    url:'/projects', 
    template: "<project-list></project-list>" 
    }) 
    .state('projectDetails',{ 
    url:'/:projectId', 
    template : '<project-detail projectDetails="projectDetails"></project-detail>' 
    , views :{ 
     'chat':{ 
      template : '<chat></chat>' 

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

я создал компонент таким образом:

(function() { 
    'use strict'; 
function ChatController($scope, $element, $attrs, $firebaseArray) { 
    var ctrl = this; 


    console.log("it works"); 

} 
angular.module('myapp').component('chat', { 
    templateUrl: '/app/component/project/chat.html', 
    controller: ChatController 
}); 
})(window.angular); 

, а затем я добавил представление в projectDetails

+0

У маршрутизатора ui есть вложенные состояния. Вы считаете, что используете их? – Raghu

+0

OP четко заявляет, что не знает, поддерживает ли ui-router компоненты. Я могу проверить, однако, ngRoute. –

+0

Я уже пробовал с документацией ui.router, но не работал. Определение суб-состояния и размещение тега ui-view там, где это необходимо, и добавление $ state.go ('subate') – David

ответ

0

Мое понимание того, что у вас есть компонент «Чат», который вы хотите загрузить в состояние «проект-детали» в виде вложенного/дочернего представления. Как вы уже заметили, ui-router не поддерживает это.

Но это может быть достигнуто путем создания «деталей проекта» в качестве родительского состояния и загрузки других компонентов, включенных в качестве дочернего состояния.

Plunker Demo

Надежда это то, что вы wanted.Please не добавить сайт в родительском state.Consider делает это абстрактное состояние.

Смежные вопросы