2016-10-31 81 views
1

當從父母狀態轉換到parents.view.childs時 - 我沒有看到與正在調用/加載的parents.view.childs相關的控制器。但看到getChilds()內的打印,我看到服務器響應孩子的數據。angularjs控制器沒有被加載/調用

但我不明白爲什麼childs控制器沒有被調用。控制檯上沒有錯誤。

使用controllerAs有什麼問題:在'vm'狀態或其他?還請指出如何調試狀態轉換?

角路由文件

.state('parents.view', { 
    url: '/:parentId', 
    templateUrl: 'modules/parents/client/views/view-parent.client.view.html', 
    controller: 'parentsController', 
    controllerAs: 'vm', 
    resolve: { 
    parentResolve: getparent 
    }, 
    data: { 
    pageTitle: 'parent {{ parentResolve.name }}' 
    } 
}) 
.state('parents.view.childs', { 
    url: '/childs', 
    templateUrl: 'modules/childs/client/views/list-childs.client.view.html', 
    controller: 'childsListController', 
    controllerAs: 'vm', 
    resolve: { 
    parentResolve: getchilds 
    }, 
    data: { 
    pageTitle: 'childs List' 
    } 
}) 

getchilds.$inject = ['$stateParams', '_childsService']; 

function getchilds($stateParams, _childsService) { 
    console.log('getting childs'); 
    return _childsService.query().$promise; 
} 

控制器取得

(function() { 
    'use strict'; 

    angular 
    .module('childs') 
    .controller('childsListController', childsListController); 

    childsListController.$inject = ['$stateParams','$state', 'childResolve']; 

    function childsListController($stateParams,$state,childResolve) { 
    console.log('say hello',childResolve); 
    vm.childs = childResolve; 
    } 
}()); 

編輯:get_childs()來getchilds()

+1

是否父模板包含'UI的view'? –

+0

我認爲你應該添加抽象的父視圖 –

+0

這兩個問題都是有效的 - 是的,我們有用戶界面和有抽象的父視圖。對不起,我沒有發佈,因爲有許多父母的路線。*狀態 – npr

回答

1

爲了有一個答案:

孩子沒有加載 - 它

ui-view="" 

經常檢查家長有一個 處(座)更妙的是,如果有命名的意見,我們需要他們每個人的目標

ui-view="name1" 
ui-view="name2" 

並使用兒童適當的絕對命名views :{}的定義。點擊這裏瞭解更多詳情

1

你需要注入每一決心對象作爲依賴在相應的控制器中。

在你childsListController你只注射childResolve,而你已經宣佈的唯一解決對象是

parentResolve:getchilds

我不是很熟悉這個語法,但也許問題只是忘記在parent.view.childs狀態中將「parentResolve」更改爲「childResolve」?

+0

這是一個很好的捕獲 - 但不幸的是,它仍然不會調用childListController。我試圖通過在注入此控制器時添加錯字錯誤來簡單地引入錯誤 - 但在控制檯中沒有錯誤。我認爲它不知道控制器。我會改變虛擬機部分,看看它是否有幫助。 – npr

+0

更改'vm'部分後它工作嗎? –