0

我是新的angularjs和coffeescript.I在刷新视图有一个问题。Angularjs:查看第二次和更多访问页面后不刷新

这是情景:

我有两种类型的网页:混合车辆

  1. 列表中列出。在这个页面上,我可以选择“添加到fourwheeler”和“添加到twowheeler”。
  2. 第二页包含两个选项卡1. Twowheeler 2. Fourwheeler

现在登录到应用程序后第一次我参观第1页,选择一个车辆加入fourwheeler然后转到第2页,选择fourwheeler标签,我发现最近增加了车辆,但现在如果我再次进入第1页 - >选择四轮车的车辆并检查第2页fourwheeler标签,然后我没有找到该项目。

当我检查控制台时,我发现API中的数据返回的新项目,但在视图中丢失。所以我认为这个观点并不令人耳目一新。那么,我每次访问此页面时如何刷新视图?

我想我必须把$ scope。$ apply()。但我不知道我应该在哪里使用这个?

代码:

国家文件:

angular.module('states.vehicles', []) 
    .config ($stateProvider) -> 
    $stateProvider 
     .state "app.vehicles", 
     url:   "/vehicles/:itemType" 
     views: { 
      app: { 
      controller: 'VehiclesCtrl' 
      templateUrl: "templates/vehicles/vehicles.jade" 
      } 
     } 
     abstract:   true 
     data: 
      isRoot:   true 
      showBannerAd:  true 
      tabs: 
      twowheeler: 
       name: 'Twowheeler' 
       direction: 'app.vehicles.items({itemType: "twowheeler"})' 
       id: 'twowheeler' 
       icon: 'icon-twowheeler' 
      fourwheeler: 
       name: 'Fourwheeler' 
       direction: 'app.vehicles.items({itemType: "fourwheeler"})' 
       id: 'fourwheeler' 
       icon: 'icon-fourwheeler' 

     .state 'app.vehicles.items', 
     url:   '' 
     views: { 
      tabs: { 
      templateUrl: 'templates/vehicles/vehicles.items.jade' 
      controller: 'vehiclesItemsCtrl' 
      } 
     } 
     resolve: 
      items: ($stateParams, Vehicle) -> 
      offset = $stateParams.queryOffset || 0 
      Vehicle.query 
       type: $stateParams.itemType 
       count: 10 
       offset: offset 
     data: 
      isTab: true 
      loadingTransition: true 

Controller文件:

class VehiclesItemsCtrl extends BaseCtrl 
    @register 'VehiclesItemsCtrl' 

    @inject '$scope', '$state', '$stateParams', 'Vehicle' 

    initialize: -> 
    @$scope.itemType = @$stateParams.itemType 
    @$scope.items = [] 
    @$scope.query = @_vehicleQuery 

    # Private 

    _vehicleQuery: => 
    @$stateParams.queryOffset = @$scope.items.length 
    @$state.current.resolve.items(@$stateParams, @Vehicle) 

查看文件:

ion-view(title='Vehicles') 
    ion-content.v-offset-nav 
    section(ng-switch='itemType') 
     div(ng-switch-when='twowheeler') 
     section(ng-repeat="twowheeler in items", ui-sref='app.twowheeler({twowheelerId: twowheeler.twowheeler_id})') 
      a.row.list-item.list-colors 
      h3 {{twowheeler.name}} 
     div(ng-switch-when='fourwheeler') 
     section(ng-repeat="fourwheeler in items", ui-sref='app.fourwheeler({fourwheelerId: fourwheeler.fourwheeler_id})') 
      a.row.list-item.list-colors 
      h3 {{fourwheeler.name}} 
     nfinite-scroll(items='items', query='query') 

请让我知道我必须要查NGE?

+0

使用角度2并忘记$ scope。$ apply() –

回答

0
ion-view(cache-view="false", title='Vehicles') 

我加缓存视图=在离子视图标记“假”和它的作品完美,因为我想要的。