搜索

首页  >  问答  >  正文

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 天前707

全部回复(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
  • 取消回复