2

私は、次のような状態を持っている:

​​

その後、私が持っているコントローラで:

のようなコントローラからの$ state.goを呼び出す
return app.controller('deletectrl', ['$scope', '$rootScope', '$stateParams', function ($scope, $rootScope, $stateParams) { 
     debugger; 
     // check for ui router error 
     var del = this; 
     del.entityname = $stateParams.entityname; 
     del.entityid = $stateParams.id; 
    }]); 

$state.go('home.deletemsg', { 'entityname': cd.Customer.Name, 'id': cd.Customer.CustomerID }, { 'location': false, 'notify': true }); 

$stateParamsは空ですが、なぜ空であるのかわかりません。 paramsオブジェクトを状態に入れて解決しようとしましたが、解決しました。

$stateParams.entityname //undefined 

$stateParams.id //undefined 

答えて

3

urlオプションはありませんstateviewsオブジェクト内、直接、状態の定義にそこに存在する必要があります。しかし、コントローラであっても、あなたの状態を設定した方法で呼び出されるべきではありません。

コード

.state('home.deletemsg', { 
    //url should present here, rather than putting it inside `views` 
    url: '/delete/:entityname/:id/:redirectstate', 
    views: { 
    "[email protected]": { 
    templateUrl: "Scripts/proteanapp/templates/delete.html", 
    controller: 'deletectrl', 
    controllerAs: 'del', 
    authenticate: true 
    } 
} 
+0

は畜生、あなたは正しいです。どのように私はそれを逃したかわからない:) – Haris

+1

心配は、それが起こる。あなたのコントローラーが呼び出されているはずです。私はコード内で何か他のことをやっていると感じています。 –

+0

はい、それ以外のものはうまく動作します。 – Haris

関連する問題