cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - angular页面传值问题

请问 angular-ui-route 中的

$state.go('xxx',{id:'1'})

只能传递这种简单字符串吗?
我想传object应该怎么传 用全局变量吗?

巴扎黑巴扎黑2743 hari yang lalu617

membalas semua(4)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-15 16:54:32

    Bukan sahaja anda boleh melepasi rentetan mudah, tetapi sudah tentu anda juga boleh melepasi objek

    1. Nama parameter yang ditunjukkan dalam konfigurasi penghala Ambil ui-router sebagai contoh

      $stateProvider.state('state1', {
          url: '/path/:id', // 这个地方用简单字符串
          templateUrl: '/path/to.html',
          params: {
              obj: null // 这个地方就可以随便你用了. 因为这个参数没在state的url中体现出来
          }
      }).
      
    2. Gunakan $state untuk menukar halaman

      $state.go('state1', {
          id: '22',
          obj: {
              key: 'value'
          }
      });
      
    3. Gunakan $stateParams dalam pengawal untuk mendapatkan parameter

      console.log($stateParams.obj)
      

    Sudah tentu, jika anda lulus parameter yang tidak ditunjukkan dalam URL, parameter tidak akan tersedia semasa operasi seperti kembali

    Anda boleh menggunakan kaedah @whosesmile untuk beroperasi Gunakan perkhidmatan LZ boleh melihat pada sudut terbina dalam $cacheFactory Gunakan ini untuk menjana cache dan melaksanakan put get remove removeAll dan operasi lain

    balas
    0
  • 巴扎黑

    巴扎黑2017-05-15 16:54:32

    http://stackoverflow.com/a/25999849/2586541

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-15 16:54:32

    Biasanya dua pilihan
    1. Pembolehubah global, iaitu, menggunakan $rootScope
    2. Gunakan perkhidmatan. Oleh kerana perkhidmatan adalah satu contoh dan tidak akan dimusnahkan, anda boleh menentukan perkhidmatan data cache umum untuk mengakses perkhidmatan Panggilan (kunci, nilai) dalam pengawal yang perlu memindahkan data service.get('key')

    dalam pengawal yang membaca data sebelumnya

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 16:54:32

    Terlupa versi ui-router yang menambah kaedah berikut untuk mengekalkan parameter dalam url
    1.$state

     $state.go("state",{datas:{ID:data1,NAME:data2}})
    

    2. Konfigurasikan penghala

    .state('state',{
    url:'path/{datas:json}',
    params:{'datas':null}.
    ...
    })
    

    3. Gunakan $stateParam.datas untuk mendapatkan

    balas
    0
  • Batalbalas