我刚开始使用AngularJS,所以我的问题可能非常基础。
我在一个视图中有一个链接,一旦点击调用服务,就会获取数据。在控制器中,我使用$ location更改视图,并使用从服务获得的数据更新新视图。视图正在改变,但我有更新数据的问题。以下是我的代码。
第一次观看:
<a class="red" ng-href='#RestaurantDetails' ng-click='restaurantDetails()'>
{{restaurant.name}}
</a>
控制器:
$scope.restaurantDetails = function()
{
fpServices.loadRestaurantDetails(function(event){
$scope.restaurantInfo = event;
$scope.restaurantId = event[0].id;
$location.path('/restaurant_details/'+$scope.restaurantId);
});
};
'restaurantInfo'是我从服务中获得的一个对象。
第二视图:
{{restaurantInfo.name}}
尝试重复 - 没有运气。任何帮助将不胜感激!
答案 0 :(得分:1)
由于您是在第一个视图范围内设置内容,因此无法从其他视图范围访问它。
您可以使用$rootScope
并将属性设置为activeRestaurant
,例如
$rootScope.activeRestaurant=event;
然后可以在其他视图中访问它。记得在两个视图中注入$ rootScope。
更好的方法是创建一个服务,设置活动餐厅并从一个视图调用它来设置餐厅,从另一个视图调用它来获得活跃的餐厅。