こういう風に実現できたんだけど、本当は良くないのかな.. 自信なし。意見求む。
利用する値をいちいちFactoryで定義しなくていいので、楽ではあるんだけど。
やりたいことは、ページを切り替え(Controllerを切り替え)たりする際に引数を渡したい。
- 値の受け渡し用の空の(ダミー?)のFactoryを定義
Factory
angular.module('hogeApp')
// Controller間で引数をやりとりするためのFactory
.factory('ShareData', function () {
// 何も書かないとエラーになったので記載
return {
};
})
;
- 受け渡し「元」のController
- この
hoge
は、どこにも定義していない任意の変数
- この
Controller①
angular.module('hogeApp')
// 先ほどの ShareData をDIしておく
.controller('MainCtrl', ['$scope', 'ShareData', function ($scope, ShareData) {
// これはng-clickで定義した関数
$scope.showItem = function(){
ShareData.hoge = "ほげほげ";
// 〜ここに遷移的な何か
};
}])
;
- 受け渡し「先」のController
Controller②
angular.module('hogeApp')
// こちらも ShareData をDIしておく
.controller('SubCtrl', ['$scope', 'ShareData', function ($scope, ShareData) {
$scope.hogetext = ShareData.hoge;
}])
;
それともグローバルな変数で受け渡すのが正解なのかしら。