使用$ state.go或$ location.href
时,Controller未在同一页面上初始化我正在使用sidemenu在我的离子应用程序中使用服务将类别ID传递给产品页面,但数据未更新对应于当前类别ID。当我点击aaa时,我已成功重定向到产品页面并发出警报1.当我点击“bbb”时再次显示侧面菜单。我没有警觉。此外,如果我首先选择bbb,则会提醒2,反之亦然
侧边菜单模板
<ion-item nav-clear menu-close ng-click="allproductpage(1)">aaa</ion-item>
<ion-item nav-clear menu-close ng-click="allproductpage(2)">bbb</ion-item>
侧边菜单控制器
$scope.allproductpage= function(a){
angular.extend(inpsf.inps, {act_cat : a}) // inpsf is service
$location.path('/app/allproducts')
}
产品页面
.controller('AllproductsCtrl', function($scope,inpsf)
{
alert(inpsf.inps.act_cat)
})
P.S 我在.config
中使用$ionicConfigProvider.views.maxCache(0);
答案 0 :(得分:0)
如果使用$routeChangeSuccess
,则应该在状态路径声明中传递参数并监听$location
,如果使用$stateChangeSuccess
则使用$state
,因为您已经在'/app/allproducts'
1}}当您单击第二个菜单项并且控制器已经“在页面中”时。尝试类似:
.controller('AllproductsCtrl', function($scope,inpsf)
{
$scope.$on('$routeChangeSuccess', function() {
alert(inpsf.inps.act_cat)
})
})
//where you config your states..
$stateProvider.state('/app/allproducts/:cat', {
侧边菜单控制器
$scope.allproductpage= function(a){
angular.extend(inpsf.inps, {act_cat : a}) // inpsf is service
$location.path('/app/allproducts').search({act_cat: a})
}
答案 1 :(得分:0)
尝试使用以下方式。
$ionicHistory.clearCache().then(function(){ $state.go('yourpath') })