我已经对现有代码进行了简化,我想在其中将用户查询搜索到数据库中。我可以全部调用$https
,只是从一个控制器(从setSearch
到getSearch
)到另一个控制器的数据丢失了。我有用户服务来传递数据
http://plnkr.co/edit/ncSSFlG1YcwAMmpl9WDX
我在以下代码上遇到问题:
app.controller ('getSearch',function($scope,queryService){
var userQuery= queryService.getUserQuery();
alert(userQuery); // why is it blank?????????????//
// i want to make a https call using this userQuery and fetch data from DB
});
最佳答案
您的问题是您的按钮属于“提交”类型,并且该表单没有任何操作,因此单击该页面时仅刷新该页面。页面刷新时,所有内容都会重置,并且您会丢失数据。
我将您的按钮更改为不提交的type="button"
,并在单击按钮后手动更改了路由,只是这样您可以看到数据已正确存储和传递。
$scope.getQuery = function(message){
queryService.setUserQuery(message);
$location.path( "/search" );
};
Plnkr