Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Berkongsi Data $skop Antara Negeri dalam AngularJS UI-Router Tanpa Perkhidmatan?

Bagaimana untuk Berkongsi Data $skop Antara Negeri dalam AngularJS UI-Router Tanpa Perkhidmatan?

Susan Sarandon
Susan Sarandonasal
2024-11-23 05:16:09367semak imbas

How to Share $scope Data Between States in AngularJS UI-Router Without Services?

Berkongsi $scope Data Antara Negeri dalam AngularJS UI-Router

Dalam aplikasi AngularJS yang menggunakan UI-Router untuk pengurusan keadaan, mungkin terdapat perlu berkongsi data $skop antara keadaan ibu bapa dan anak. Tanpa menggunakan perkhidmatan atau pemerhati yang berbelit-belit, bagaimanakah kita boleh mencapainya?

Menggunakan Pewarisan Hierarki Paparan

Penghala UI AngularJS menyediakan warisan sifat skop hanya apabila paparan anak bersarang dalam paparan induk. Ini bermakna bahawa templat keadaan anak mesti bersarang dalam templat paparan induk.

Sebagai contoh, pertimbangkan takrif keadaan berikut:

.state("main", {
 controller:'mainController',
 url:"/main",
 templateUrl: "main_init.html"
})  
.state("main.1", {
 controller:'mainController',
 parent: 'main',
 url:"/1",
 templateUrl: 'form_1.html'
})  
.state("main.2", {
 controller:'mainController',
 parent: 'main',
 url: "/2",
 templateUrl: 'form_2.html'
})  

Dalam senario ini, pandangan daripada keadaan anak ("form_1.html" dan "form_2.html") bersarang dalam paparan keadaan induk ("main_init.html"). Ini membolehkan pewarisan sifat $scope daripada keadaan induk kepada keadaan anak.

Menggunakan Jenis Rujukan dan Notasi Titik

Untuk memastikan data dikongsi, ia adalah penting untuk menentukan jenis rujukan dalam $scope pengawal induk menggunakan notasi titik. Contohnya:

controller('mainController', function ($scope) {
  $scope.Model = $scope.Model || {Name : "xxx"};
})

Dengan menggunakan tatatanda titik, kami memastikan bahawa $scope.Model ialah jenis rujukan. Apabila diakses dalam keadaan kanak-kanak, ia akan menjadi contoh $scope.Model yang sama yang dibuat dalam keadaan induk, memudahkan perkongsian data.

Contoh

Dalam contoh dengan syarat dalam soalan, pengawal utama dan keadaan anak disediakan dengan betul untuk warisan skop. Isunya terletak pada penggunaan notasi titik yang tidak betul. Dengan mengubah suai model ng dalam keadaan anak untuk merujuk $scope.Model.Name, perkongsian data akan diwujudkan.

Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Data $skop Antara Negeri dalam AngularJS UI-Router Tanpa Perkhidmatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn