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>
给我你的怀抱2017-05-15 17:05:27
你搞錯了,不管路由中的參數有沒有變化,控制器都會初始化,按照angular官方的教程:
出於記憶體佔用和效能的考慮,控制器只會在需要時被實例化,並且不再需要就會被銷毀。這表示每次切換路由或重新載入視圖時,目前的控制器都會被AngularJS清除掉。