0
テンプレートAからテンプレートBに移動するアプリケーションで作業しています。テンプレートAでは、ユーザーがボタンをクリックしてテンプレートBに移動します。テンプレートBでは、金額にユーザーが追加された後、送信されます。プログラムはテンプレートAに戻り、テンプレートBに入力されたものを表示しますが、送信された番号はスコープ内で更新されず、nullとして表示されます。何らかの理由で、アプリケーションをテンプレートBからテンプレートAに起動すると、スコープが更新されます。ページ間を移動するとスコープが更新されない
私はテンプレートAのための私のコードはBudgetCalc
<ion-view view-title="BudgetCalc">
<ion-content class="padding">
<a href="#/tab/dash/addBudget"><button>Start Budgeting</button></a>
<h2>Your Limit is {{limit}}</h2>
</ion-content>
</ion-view>
そしてaddBuget
ここ<ion-view view-title="Add a Budget">
<ion-content>
<label class="item item-input">
<span class="input-label">Set Spending Limit</span>
<input type="number"ng-model="limit">
</label>
<button ui-sref="tab.budget" ng-click="setLimit(limit)">Submit</button>
<br><h2>Your Limit is: {{limit}}</h2>
</ion-content>
</ion-view>
という名前のテンプレートBはのための私のコントローラであると呼ばれている。ここの工場
.factory('myService', function(){
var budget = {
limit: null
};
function set(data){
budget.limit = data;
}
function get(){
return budget.limit;
}
return{
set: set,
get: get,
print: console.log(budget.limit)
}
})
を使用しています2つのテンプレート
.controller('BudgetCtrl', function($scope, myService) {
$scope.limit = myService.get();
console.log("This is your limit " + $scope.limit);
})
.controller('SetLimitCtrl', function($scope, myService){
$scope.setLimit = function(limit){
if (limit != null) {
myService.set(limit);
console.log(myService.print);
}
}
})
をあなたがAを見るために戻って行くたびに、実行中のBudgetCtrlではconsole.logのですか? – yBrodsky
いいえ、初めて実行されます。戻ってくると再び表示されません。 –
ビューに戻ってナビゲートするときに、リロードオプションを追加します。 – yBrodsky