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') 

我加緩存視圖=在離子視圖標記「假」和它的作品完美,因爲我想要的。