angular.js - directive里的link和controller区别?非directive的scope能否用link?
PHP中文网
PHP中文网 2017-05-15 16:51:39
0
2
685

为什么有的要写在link里面,有的要写在controller里面?!
如果希望在module中设置一个子scope,但不用directive,这时候能否用link?
(比如说用ngRoute时候的ng-view部分,可否用link)
controller可以和服务器端通信是吧,link好像不干这事情?还是只是我没见到过?

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(2)
小葫芦

Mengenai perbezaan antara pautan dan pengawal dalam arahan?
1. Perintah pelaksanaan: pengawal dahulu, kemudian pautan
2. Bila hendak menggunakan pengawal: Dalam senario umum, anda tidak mahu menggunakan pengawal, anda hanya perlu menulis logik dalam pautan; oleh arahan lain (diandaikan b) Apabila, pengawal ini akan diluluskan dalam fungsi pautan arahan b (jika terdapat beberapa keperluan, tatasusunan akan dihantar masuk, dan pengawal yang sepadan dengan setiap arahan memerlukan akan disimpan dalam tatasusunan). Tujuannya adalah untuk komunikasi antara arahan.

Bolehkah saya menggunakan pautan untuk skop bukan arahan?
Pautan dipanggil hanya dalam arahan, yang bermaksud bahawa pautan dipanggil apabila arahan terikat kepada skop selepas disusun.
Pautan hanya digunakan di tempat di mana arahan ditakrifkan Ia juga boleh digunakan di tempat lain Sebagai contoh, apabila membuat kotak timbul, anda perlu mendapatkan templat, dan kemudian hubungi var linkFn = $compile(angular.element(tpl)); masa, fungsi pautan dikembalikan, dan kemudian linkFn(scope), skop di sini ialah skop yang anda perlu tentukan, ia boleh dibuat baru atau sedia ada.

某草草

Pautan dan pengawal adalah konsep yang tidak berkaitan sama sekali.

Untuk arahan tertentu, mungkin tiada pengawal Pautan itu lebih rumit dan pada asasnya boleh dianggap sebagai panggilan balik $compile terlebih dahulu untuk arahan ---> objek-- -> Panggil pautan untuk mengikat skop yang sepadan ---> Pencetus $digest (terdapat banyak langkah selepas itu untuk mengemas kini arahan. Bilangan dan masa penyusunan objek berbeza adalah berbeza, sila lihat api untuk butiran)

Ringkasnya, kompil, pautan dan seumpamanya semuanya untuk arah Jika subjek sudah biasa dengan jquery, maka proses kompilasi adalah bersamaan dengan mencipta beberapa objek dom ($('<a class = //... pautan . ') ) ialah operasi DOM seperti $().append atau prepend.

Jadi apakah skop? Skop digunakan untuk mengikat model.
Apakah pengawal? Digunakan untuk menambah kaedah (logik) pada skop.

Pautan ialah mekanisme aspek yang disediakan oleh AngularJS untuk membenamkan arahan ke dalam Pengawal DOM ialah konteks apabila acara jam tangan dalam skop dicetuskan, yang sama sekali berbeza.

Bagi soalan terakhir, selagi fungsi boleh dijalankan, kod yang anda tulis boleh dilaksanakan, tetapi secara amnya
1) Tulis logik perniagaan anda dalam pengawal, dan bukan dalam pengawal arahan itu sendiri, tetapi dalam pengawal skop ia terikat kepada

2) Tidak mempunyai operasi DOM dalam pengawal, terutamanya prepend dan tambah, kerana objek DOM yang tidak disusun tidak boleh ditonton dan angularjs tidak akan memantau objek DOM yang ditambahkan kemudian dan belum disusun.

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