問題が1つあります。私は1つのテンプレートURLを持っていますが、状態の変種がたくさんあります。私は1つの親状態を持ち、他の状態は子です。今では、このようseens:別の(親)コントローラロジックを派生状態(angularjs ui-router)に注入します。
angular
.module("StN")
.config(config);
function config($stateProvider) {
$stateProvider
.state("invoice", {
url: "/invoice",
templateUrl: "/Scripts/js/stn/invoice/invoice.html",
controller: "invoiceController as vm"
})
.state("invoice.custom", {
url: "/castom"
})
.state("invoice.search", {
url: "/search?Status?Invoice?"
});
}
そして私は、私は現在の状態名を確認し、スイッチケース構造を、持っているといくつかの違いロジックに
angular
.module("StN")
.controller("invoiceController", invoiceController);
function invoiceController($http, $state) {
switch (state.name) {
case "invoice.search":
//first logic
break;
case "invoice.custom":
//second logic
break;
case "invoice.status":
//third logic
break;
}
}
を行うコントローラで、私は、各状態のための別のコントローラを持っている必要がありますこのコントローラは親コントローラ(invoiceController)のロジックを持たなければなりません。どうやってやるの?
例
.state("invoice", {
url: "/invoice",
templateUrl: "/Scripts/js/stn/invoice/invoice.html",
controller: "invoiceController as vm"
})
.state("invoice.custom", {
url: "/castom"
controller: "DerivedinvoiceController as vm" //but it must have logic of base controller
})
あなたは、私が考えるParentControllerロジック http://stackoverflow.com/questions/18461263/can-an-angularjs-controller-inherit-from-another-controller-in-the-same-module –
を継承することができますすることができますそれは可能ですが、私の上司は、それは最高の変種ではない(彼はそれがテストの必要性だと言った) –