【发布时间】:2017-11-18 22:43:16
【问题描述】:
我正在制作一个基于 MEAN 的网站。现在我试图将数据从一个控制器传递到下一个控制器,但我似乎没有完成它。选择选项时,我希望将此值置于下一页
这是带有选择框的页面:
<div class="plumber-by-city col-sm-12 home-text-col" ng-controller="DataCtrl">
<div class="title-1">Search by cityname</div>
<select ng-model="selectedItem" ng-change="change()" ng-options="item as item.city for item in items"></select><span class="fa fa-caret-down"></span>
</div>
在更改时,我想使用 DataCtrl2 将 selectedItem 传递到下一页
这是我的 DataCtrl:
app.controller('DataCtrl', function($scope,$http,getData,$location,$routeParams){
getData.getCity($scope);
$scope.change = function() {
$location.path('/plumber-in/' + $scope.selectedItem.city);
};
});
以及从数据库中检索数据的服务:
app.factory('getData', function($http){
return {
getCity: function($scope){
return $http.get("/getdata").then(function(response){
$scope.items = response.data;
$scope.selectedItem = response.data[0];
});
}
};
});
现在我不知道在第二页的 DataCtrl2 中放什么,以及如何在这个页面中使用 DataCtrl 中的数据
【问题讨论】:
-
是否可以创建一个有效的 JSFiddle?您可以使用服务在控制器之间保持(使用 setter / getter)活动城市,或使用 stateparams 将此数据传输到下一个状态。
-
@Larsmanson:让它变得简单,从工厂\服务返回承诺,并在控制器中进行评估。 :)
-
@anoop:我怎么能这样做。我不熟悉这个
-
@Larsmanson :查看question on SO 的答案,下面的答案
sachila也做了同样的事情。
标签: javascript html angularjs mean