私は、次のコンポーネントがありダミーコンポーネント・ベースのアプリケーション、持っている:私が欲しいもの角度1.xの - 他のコンポーネントにコンポーネントの状態の解決データを渡し
- App -- Page ---- Breadcrumb
はBreadcrumb
にPage
解決データを渡すことです。
これはPage
設定がどのように見えるかです:
$stateProvider.state('page', {
url: '/page',
component: 'page',
resolve: {
routes: ($stateParams) => {
"ngInject";
return [
{url: "/", name: "Home"},
{url: "/page", name: 'Page'}
];
}
}
})
Page
コントローラ:
class PageController {
constructor($stateParams) {
"ngInject";
this.themeColor = "#ff8fd1";
// When i use static data it's works fine..
//this.routes = [
// {url: "/", name: "Main page"},
// {url: "/page", name: 'Sub page'},
//];
this.routes = $stateParams.routes;
}
}
そして、これが私のBreadcrumb
コンポーネントです:
let breadcrumbComponent = {
restrict: 'E',
bindings: {
themeColor: "<",
routes: "<"
},
template,
controller
};
Breadcrumb
のDOMコンポーネント:
<breadcrumb theme-color="$ctrl.themeColor" routes="$ctrl.routes"></breadcrumb>
Pageコントローラの解決メソッドから定義するときはいつも、経路は未定義です。
データが到着したら、データを待つか、Breadcrumb
をもう一度バインドしますか?
角型コンポーネントのコアコンセプトが分かっているのは、双方向バインディングがないことです。だからこの場合、ngIfは私のための正しい解決策ではありません...私は、アプリケーションの全体構造を再定義しなければならないと思うかもしれませんし、コンポーネントの代わりにおそらく私は指示を使用しなければならなかった –
私が言ったように、ほとんどの場合うまく動作します。もう1つは、$ onChangesフックを使用することです。 – dfsq