搜尋

首頁  >  問答  >  主體

angular.js - angular第一次從A路由跳到B路由時,B路由的控制器會初始化,第二次跳到B路由時,B路由的控制器不會初始化

angular第一次從A路由跳到B路由時,B路由的控制器會初始化;第二次跳到B路由時,如果路由中的參數變化了,則B路由的控制器再次進行初始化;如果路由中的參數沒有變化,則B路由的控制器不會再初始化。怎麼樣才能讓,路由每次跳轉都初始化一次它的控制器呢?

`//路由配置如下圖所示:

    .state('calendarUpdate',{
        url:"/calendarUpdate?itemOid",
        templateUrl:"templates/calendar/calendarUpdate.html",
        controller:"CalendarUpdateCtrl"
    })`
//跳转方式如下:
<a ui-sref=calendarUpdate({itemOid: itemOid})>跳转</a>
世界只因有你世界只因有你2744 天前706

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-05-15 17:05:27

    你是不是用了ionic了,ionic的快取模式是不重新載入的。

    回覆
    0
  • 迷茫

    迷茫2017-05-15 17:05:27

    要加$watch

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 17:05:27

    你搞錯了,不管路由中的參數有沒有變化,控制器都會初始化,按照angular官方的教程:

    出於記憶體佔用和效能的考慮,控制器只會在需要時被實例化,並且不再需要就會被銷毀。這表示每次切換路由或重新載入視圖時,目前的控制器都會被AngularJS清除掉。

    回覆
    0
  • 取消回覆