cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Masalah lulus nilai dalam halaman sudut

Sila beritahu saya tentang

dalam angular-ui-route
$state.go('xxx',{id:'1'})

Hanya rentetan mudah ini boleh dilalui?
Jika saya ingin lulus objek, bagaimana saya harus menggunakan pembolehubah global?

巴扎黑巴扎黑2802 hari yang lalu656

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