2016-07-02 2 views
0

私はユーザーと対話するGoogleのマテリアルダイアログボックスを持っています。ファクトリをダイアログに挿入して使用したいと思います。これを行う方法はありますか?md.dialogで工場を使う

私はローカル変数として工場を渡そうとしました。

提案がありますか?ここで

編集---------

は、私はダイアログを処理するために使用しています私のコントローラです。私は工場に工場を出力し、機能はすべてそこにある。なぜ彼らに電話をしても何もしません。

function DocumentDialogController($mdDialog, locals, chartFactory) 
{ 
    var vm    = vm || this; 
    vm.thisItem   = locals.thisItem; 

    vm.cancel   = cancel; 
    vm.acceptChanges = acceptChanges; 
    vm.selectImage  = selectImage; 

    function cancel(){ 
     $mdDialog.cancel(); 
    }; 

    function acceptChanges(desc) { 
     $mdDialog.hide(desc); 
    }; 

    function selectImage(imageName) { 
     vm.thisItem.imageObj.data.src=imageName; 
    }; 

} 

答えて

0

コントローラーをダイアログに割り当て、工場にコントローラーを挿入します。

ダイアログを作成するには、以下のようにします。コントローラプロパティの文字列は、使用するコントローラの名前です。

$mdDialog.show({ 
    templateUrl: 'partials/example.template.html', 
    targetEvent: event, 
    controller: 'ExampleCtrl', 
    controllerAs: 'vm' 
}); 

他のコントローラと同じように、工場に工場を作成して注入します。

(function() { 
    'use strict'; 

    angular 
    .module('example') 
    .controller('ExampleCtrl', ExampleCtrl); 

    function ExampleCtrl(ExampleFactory) { 
    var vm = this; 
    // you can now use the injected ExampleFactory 
    } 
    ExampleCtrl.$inject = ['ExampleFactory']; 
})(); 
+0

私が見ることができるコード例を作成できますか? – ScottL

+0

私は答えを更新しました。元の注入は実際には機能していたようですが、工場は何らかの種類の繰り返し埋め込みです –