ユーザー設定値を保持するユーザー設定ファクトリーがあります。ページが読み込まれると、ページは空になります。ユーザーがログインすると、ユーザー プロファイルが入力されます。疑似コード
app.factory('pref', function($rootScope){
var pref = {}, age, name;
$rootScope.$on('logged.in', function(){
pref.name = 'sam';
pref.age = 30;
pref.currency = '$';
age = getAge(); name = getName();
})
function getName(){
//format name
return name;
}
function getAge(){
return age;
}
return {
currency: pref.currency,
age: age,
name: name
}
})
次に、コントローラーにファクトリを挿入します。
app.controller('MainCtrl', function($scope, pref) {
$scope.name = pref.name; //Return undefined
var currency = pref.currency;
$scope.price = function(amount){
return amount + currency; //don't show $ sign
}
});
pref ファクトリからの戻り値がコントローラで更新されません。どうすれば機能しますか?
編集: plunkr http://plnkr.co/edit/SKJC5hUPEm72JqGJyT9y