2017-04-20 10 views
0

コントローラに明示的にバインドせずにビュー内のコントローラモジュールに注入する方法はありますか?言い換えれば、$ stateParamsがコントローラに注入された場合、角度から見たコントローラから注入を使用

<p>{{$ctrl.$injectedIntoThisController.$stateParams.name}}<p> 

の行に何かがありますか?

+0

役立つ:http://stackoverflow.com/a/15040125 – tanmay

答えて

1

サービスを使用せずに使用することはできません。$injectorサービスを使用して、条件に基づいてサービスを挿入し、必要なものをビューにバインドすることができます。

angular.controller('MyCtrl', ['$injector', function($injector){ 

if(something){ 
    var service = $injector.get('MyService'); 
    this.prop = service.prop; 
} 

}]) 

このプロパティをバインドします。

<div ng-controller="MyCtrl as $ctrl"> 
<p>{{$ctrl.prop}}<p> 
</div> 

https://docs.angularjs.org/api/auto/service/ $インジェクタ

関連する問題