我是AngularJS的新手,我之前已经意识到这个问题(所以希望我不会被拒绝),但我一直无法找到符合我情况的问题。
我想将搜索数据(大约4个字段)从搜索页面(My HomeCtrl)传递给ListingCtrl。 listingCtrl已经使用工厂/服务来获取基于从API传递的内容的信息(我目前已对数据进行了硬编码)。
现在我读到的所有内容都使用另一台服务器/ facotry在搜索页面和列表页面之间传递数据但是(如果我遗漏了某些内容,请原谅我)为什么不将这些额外的参数传递给routeParams?
你需要知道 - 我正在使用partials和route params在应用程序中导航并在页面之间传递一些简单的ID。
答案 0 :(得分:3)
我建议使用服务。
如果您想要库存持久性数据,我建议您使用此https://github.com/Zmetser/localstorageservice
此模块使用localStorage
(documentation)(如果您使用IE,则使用Cookie)
未经测试的例子:
服务
myApp.service('controllerSharingData', function() {
var __variables = {};
return {
get: function(varname) {
return (typeof __variables[varname] !== 'undefined') ? __variables[varname] : false;
},
set: function(varname, value) {
__variables[varname] = value;
}
};
});
<强>控制器强>
myApp.controller('IndexCtrl', function($scope, controllerSharingData) {
controllerSharingData.set('toto', 'hello world');
});
myApp.controller('ListCtrl', function($scope, controllerSharingData) {
alert(controllerSharingData.get('toto'));
});