angular.js - Masalah dengan pengawal, perkhidmatan dan kilang Angular
怪我咯
怪我咯 2017-05-15 16:53:11
0
3
576

Jika saya berkongsi sekeping data dengan berbilang pengawal, adakah saya harus menyimpan data pada pengawal peringkat atas atau menggunakan kilang untuk menyimpan data yang perlu dikongsi Apakah yang akan berlaku jika saya menggunakan perkhidmatan?

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(3)
为情所困

Soalan ini bergantung pada seberapa kukuh perkaitan perniagaan data dalam tahap skop anda apabila anda menggunakan data tersebut.

Kuat, maksudnya, anda sangat yakin apabila skop tertentu menggunakannya, anda pasti boleh mencari skop ibu bapa tertentu dengan mencari ke atas, kemudian anda boleh menggunakan warisan skop untuk berkongsinya. Walau bagaimanapun, adalah disyorkan untuk menggunakan sintaks controller as untuk memberikan setiap pengawal ruang nama yang unik untuk mengelakkan pertindihan objek. Malah, anda juga boleh menyimpan data ini dalam $rootScope untuk berkongsinya secara global (tetapi tidak disyorkan, kerana lebih ringan $rootScope, lebih baik), atau anda boleh mempunyai pengawal global peringkat atas untuk menyimpannya .

Ia tidak kuat, yang bermaksud anda tidak boleh menentukan bila dan di mana data ini akan digunakan, jadi gunakan suntikan pergantungan. Untuk data tulen, disyorkan untuk menggunakan module.value (data pembolehubah) atau module.constant (data tidak boleh ubah Sudah tentu, anda juga boleh menggunakan module.factory untuk mengembalikan objek (ini sama dengan module.value). module.service sering digunakan untuk mengembalikan pembina, yang boleh anda gunakan untuk menjana contoh objek yang berbeza (berbeza daripada perkhidmatan tunggal lain).

Malah, module.value/constant/factory/service adalah semua varian (gula sintaksis) module.provider Baca bab tentang suntikan ketergantungan dan perkhidmatan dalam dokumentasi rasmi dan anda akan memahami segala-galanya.

滿天的星座

Perkhidmatan penggunaan secara amnya digunakan untuk menyimpan data Kilang biasanya digunakan untuk memanggil pelbagai perkhidmatan~ atau memulangkan kaedah, sebenarnya, mereka merasakan perbezaannya pergi Lihat ini atau ini

滿天的星座

Sebenarnya, saya tidak menemui sebarang perbezaan antara kilang dan perkhidmatan Jika anda suka objek js, maka pilih yang pertama Jika anda suka js oop, kemudian gunakan perkhidmatan. . . Satu terjemahan menerangkannya dengan cara ini.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan