Pengontrol tidak diinisialisasi saat menggunakan $location.path atau $state.go

Pengontrol tidak diinisialisasi pada halaman yang sama saat menggunakan $state.go atau $location.href

Saya menggunakan menu samping di ionic saya untuk meneruskan Id kategori aplikasi ke halaman produk menggunakan layanan tetapi data tidak diperbarui sesuai dengan Id kategori saat ini. Ketika saya mengklik aaa saya berhasil diarahkan ke halaman produk dan peringatan 1. Sekali lagi membentuk menu samping ketika saya mengklik 'bbb' saya tidak mendapat peringatan. Juga jika saya memilih bbb pada awalnya maka 2 disiagakan dan sebaliknya

Templat menu samping

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

Pengontrol menu samping

$scope.allproductpage= function(a){
angular.extend(inpsf.inps, {act_cat : a})  // inpsf is service
$location.path('/app/allproducts')
}

Halaman produk

.controller('AllproductsCtrl', function($scope,inpsf)
{
alert(inpsf.inps.act_cat)   
})

P.S Saya menggunakan $ionicConfigProvider.views.maxCache(0); di .config saya


person sam    schedule 20.02.2017    source sumber
comment
Kemungkinan duplikat Router UI AngularJS - ubah url tanpa memuat ulang status   -  person Rohit Jindal    schedule 20.02.2017


Jawaban (2)


Anda harus meneruskan parameter di dalam deklarasi jalur status dan mendengarkan $routeChangeSuccess jika menggunakan $location atau $stateChangeSuccess jika menggunakan $state, karena Anda sudah berada di '/app/allproducts' ketika Anda mengklik item menu kedua dan pengontrol sudah "di halaman". Cobalah sesuatu seperti:

.controller('AllproductsCtrl', function($scope,inpsf)
{
    $scope.$on('$routeChangeSuccess', function() {
        alert(inpsf.inps.act_cat)  
    })
})


//where you config your states..
$stateProvider.state('/app/allproducts/:cat', {

Pengontrol menu samping

$scope.allproductpage= function(a){
    angular.extend(inpsf.inps, {act_cat : a})  // inpsf is service
    $location.path('/app/allproducts').search({act_cat: a})
}
person Daniele    schedule 20.02.2017

Coba gunakan cara berikut.

$ionicHistory.clearCache().then(function(){ $state.go('yourpath') })
person coder    schedule 20.02.2017