0
あるコントローラから別のコントローラに値を渡そうとしています。両方のコントローラは同じモジュール上にあります。私はサービスを作ってみました。問題は、第1コントローラからサービスに価値を渡すことができるが、第2コントローラでその値を取得できないことです。どんな助けもありがとう。アイテムページに表示されます。コントローラから他のページの別のコントローラに値を渡す - AngularJS
コントローラ(アイテムページにある)1:(記事のページにあります)
itpApp.controller("itpAppControllerKB", function($scope, sharedProperties, $location) {
$scope.showArticles = function(myValue) {
console.log('myValue: ' + myValue);
sharedProperties.setListName(myValue);
window.location.href = "/portal/articles";
};
});
コントローラ2:
itpApp.controller("itpAppControllerKBArticle", function($scope, sharedProperties) {
$scope.article = sharedProperties.getListName();
console.log('selTopic: ' + $scope.article);
}
サービス:
itpApp.service('sharedProperties', function() {
var list_name = '';
return {
getListName: function() {
return list_name;
},
setListName: function(name) {
list_name = name;
}
};
});
サービスの返品の状態はどうですか?工場はそれを必要とするが、サービスは必要ない。それはあなたのミスです。 – Gilsdav
window.location.href = "/ portal/articles";ページをリロードするすべてのサービスデータが失われた場合... – fubbe
http://plnkr.co/edit/VEgt5v9VmeRPU4QIYArF?p=preview。私はこのリンクからサービスを使用する場合。それは働いていますが、以前の値もすべて取得しています。 – user3781360