Bagaimana cara merender status rute-ui sudut dalam status lain?

Saya memiliki dua status rute ui S1 dan S2. S1 adalah status kueri, yang memiliki bentuk untuk menanyakan beberapa data. S2 adalah status hasil di mana saya menampilkan data yang saya dapatkan dari status S1.

Sekarang saya ingin memberikan S1 (status kueri) dalam status hasil S2 sehingga pengguna dapat mengubah kueri di sana dalam status S2 itu sendiri.

Bagaimana saya dapat mengakses S1 template dan pengontrol dalam status S2?

Kode:

$stateProvider
        .state('form', {
            url: '/form',
            templateUrl: '/modules/form',
            controller: 'formController'
        })
        .state('result', {
            url: '/result',
            templateUrl: '/modules/result',
            controller: 'resultController'
        })

Saya ingin menggunakan status form dalam status result.

Catatan: Saya baru dalam bidang sudut, tolong berikan saya beberapa saran untuk pemandangan seperti itu.


person Anshul    schedule 15.06.2015    source sumber


Jawaban (1)


Ini agak merupakan jawaban subjektif, tetapi setelah cukup sering menggunakan ui-router, menurut saya ini bagus untuk menangani berbagai rute Anda, tetapi jika Anda ingin komponen modular yang dapat digunakan kembali untuk digunakan pada halaman yang berbeda, saya yakin Anda akan mendapatkan jawaban yang jauh lebih mudah. waktu hanya menggunakan arahan asli sudut saja.

app.directive('someform', function() {
  return {
    restrict: 'E',
    templateUrl: 'form.html',
    controller : 'formController'
  };
});

http://plnkr.co/edit/JynPLQQgE1UqVMBOLvdS?p=preview Pilih untuk kelengkapan. (Anda mungkin ingin mencatat bahwa ui-router sama sekali tidak berguna dalam contoh ini.)

Sedangkan untuk komunikasi antar controller salah satu caranya adalah dengan menggunakan $broadcast, $emit dan $on. Tapi saya lebih suka layanan yang menyimpan hasil Anda, dan memasukkannya ke kedua pengontrol untuk memudahkan akses.

app.factory('Results', function(){
  results = [{value:'aaaa'},{value:'bbb'}, {value:'cccc'}];
  return {
    get : function(){
      return results;
    },
    add : function(value){
      results.push(value);
    }
  }
})

http://plnkr.co/edit/IC6OysrLw64lG8ed1sfL?p=preview

person ippi    schedule 16.06.2015