Memahami Komponen di Ember 2
mata utama
- Komponen Ember adalah teras aplikasi Ember, yang membolehkan pemaju untuk menentukan tag HTML khusus, aplikasi khusus dan melaksanakan tingkah laku mereka menggunakan JavaScript. Dalam Ember 2.x, komponen menggantikan pandangan dan pengawal.
- Komponen Ember mengandungi fail templat hendal dan kelas Ember yang sepadan. Komponen ini boleh digunakan dengan komponen lain, dan bahkan boleh bersarang dalam komponen induk dan mempunyai sifat yang serupa dengan unsur -unsur HTML asli.
- Data dinamik boleh ditambah kepada aplikasi Ember melalui model (objek yang mewakili data asas aplikasi yang dibentangkan kepada pengguna). Ini membolehkan penciptaan komponen interaktif dan dinamik.
- Interaksi pengguna boleh ditambah kepada komponen menggunakan tindakan (tindakan yang dihantar ke kelas komponen). Tindakan ini boleh digunakan untuk membuat unsur -unsur interaktif, seperti tab yang boleh diklik yang memaparkan kandungan yang berbeza.
Artikel ini telah dikaji semula oleh Edwin Reynoso dan Nilson Jacques. Terima kasih kepada semua pengulas rakan sebaya SitePoint untuk mendapatkan kandungan SitePoint untuk yang terbaik! Mereka membolehkan anda menentukan tag HTML khusus anda sendiri dan melaksanakan tingkah laku mereka menggunakan JavaScript. Bermula dengan Ember 2.x, komponen akan menggantikan pandangan dan pengawal (tidak ditetapkan) dan merupakan cara yang disyorkan untuk membina aplikasi Ember. Pelaksanaan komponen Ember mengikuti spesifikasi komponen web W3C sebanyak mungkin. Sebaik sahaja elemen tersuai boleh didapati secara meluas dalam penyemak imbas, ia harus mudah untuk memindahkan komponen Ember ke standard W3C dan menjadikannya boleh digunakan oleh rangka kerja lain.
Jika anda ingin mengetahui lebih lanjut tentang mengapa komponen yang boleh diperbaiki menggantikan pengawal dan pandangan, lihat video pendek ini oleh ahli pasukan Ember Core Yehuda Katz dan Tom Dale.
aplikasi penukar tab
Untuk mendapatkan wawasan tentang komponen Ember, kami akan membina widget Switcher Tab. Ini akan mengandungi satu set tab dengan kandungan yang berkaitan. Mengklik pada tab akan memaparkan kandungan tab itu dan menyembunyikan kandungan tab lain. Cukup sederhana? Mari bermula.
Komponen Ember mengandungi fail templat hendal dan kelas Ember yang sepadan. Kelas ini hanya perlu dilaksanakan apabila kita perlu mempunyai interaksi tambahan dengan komponen. Komponen digunakan dengan cara yang sama dengan tag HTML biasa. Apabila kita membina komponen penukar tab, kita akan dapat menggunakannya seperti ini:
Fail templat komponen Ember terletak di direktori App/Templates/Components. Fail kelas terletak di apl/komponen. Kami menggunakan semua huruf kecil, dipisahkan oleh tanda hubung antara kata -kata untuk menamakan komponen Ember. Ini dinamakan sebagai konvensyen, yang boleh mengelakkan konflik nama dengan komponen web HTML masa depan.Komponen Ember Utama kami akan menjadi Tab-Switcher. Perhatikan bahawa saya bercakap tentang komponen utama, kerana kita akan mempunyai beberapa komponen. Anda boleh menggunakan komponen bersempena dengan komponen lain. Anda juga boleh komponen sarang dalam komponen ibu bapa yang lain. Dalam kes tab-switcher kami, kami akan mempunyai satu atau lebih komponen item tab seperti yang ditunjukkan di bawah:
<code>{{tab-switcher}}{{/tab-switcher}}</code>
Seperti yang anda lihat, komponen juga boleh mempunyai sifat seperti elemen HTML asli.
Buat Projek Ember 2.x
Untuk mengikuti tutorial ini, anda perlu membuat projek Ember 2.x. Kaedahnya adalah seperti berikut:
Ember dipasang menggunakan npm. Lihat di sini untuk tutorial pada npm.
<code>{{#each tabItems as |tabItem| }} {{tab-item item=tabItem setSelectedTabItemAction="setSelectedTabItem" }} {{/each}}</code>
Pada masa menulis artikel ini, ini akan memperkenalkan versi 1.13
<code>npm install -g ember-cli </code>
Seterusnya, buat aplikasi Ember baru:
<code>ember -v => version: 1.13.8 </code>
Navigasi ke direktori ini dan edit fail Bower.json untuk mengandungi versi terkini Ember, Ember-Data, dan Ember-Load-Initializers:
<code>ember new tabswitcher</code>
kembali ke terminal dan jalankan:
<code>{ "name": "hello-world", "dependencies": { "ember": "^2.1.0", "ember-data": "^2.1.0", "ember-load-initializers": "^ember-cli/ember-load-initializers#0.1.7", ... } } </code>
Bower boleh meminta anda untuk menghuraikan versi Ember. Pilih versi 2.1 dari senarai yang disediakan dan awalannya dengan tanda seru untuk meneruskan resolusinya kepada Bower.json.
Seterusnya memulakan pelayan pembangunan Ember CLI:
<code>bower install </code>
Navigasi terakhir ke http: // localhost: 4200/dan periksa versi konsol penyemak imbas.
Buat komponen penukar tab
mari kita buat komponen penukar tab menggunakan penjana terbina dalam Ember:
<code>ember server</code>
Ini akan membuat tiga fail baru. Salah satunya ialah fail hendal html kami (app/templates/komponen/tab-switcher.hbs), yang kedua adalah fail javascript kelas komponen kami (app/komponen/tab-switcher.js), dan yang terakhir adalah fail ujian (ujian/ integrasi/komponen/tab-switcher-test.js). Komponen ujian tidak berada dalam skop tutorial ini, tetapi anda boleh membaca lebih lanjut mengenainya di laman web Ember.
Sekarang jalankan Ember Server untuk memuatkan pelayan dan menavigasi ke http: // localhost: 4200/. Anda harus melihat mesej selamat datang bertajuk "Selamat Datang ke Ember". Jadi mengapa komponen kami tidak dipaparkan? Nah, kita belum menggunakannya, jadi mari kita gunakan sekarang.
Menggunakan komponen
Buka aplikasi templat aplikasi/templat/aplikasi.hbs. Tambah yang berikut selepas tag H2 menggunakan komponen.
<code>ember generate component tab-switcher</code>
Di Ember, komponen boleh digunakan dalam dua cara. Kaedah pertama, yang dipanggil bentuk inline , adalah menggunakannya tanpa sebarang kandungan. Itulah yang kita lakukan di sini. Kaedah kedua dipanggil bentuk blok , yang membolehkan templat hendal dihantar ke komponen dan diberikan templat di mana ungkapan {{yield}} muncul dalam template komponen. Dalam tutorial ini, kami akan berpegang pada bentuk sebaris.
<code>{{tab-switcher}}{{/tab-switcher}}</code>
Sekarang, apabila halaman dimuat semula (yang sepatutnya berlaku secara automatik), anda akan melihat teks yang ditunjukkan di atas. Momen yang menarik!
membuat komponen projek tab
Sekarang bahawa kami telah menubuhkan komponen tab-switcher utama kami, mari buat beberapa komponen tab-item untuk bersarang di dalamnya. Kita boleh membuat komponen tab-tab baru seperti ini:
<code>{{#each tabItems as |tabItem| }} {{tab-item item=tabItem setSelectedTabItemAction="setSelectedTabItem" }} {{/each}}</code>
Sekarang tukar fail hendal komponen baru (app/templat/komponen/tab-item.hbs) ke:
<code>npm install -g ember-cli </code>
Seterusnya, mari sarang tiga tab-item dalam komponen tab-switcher utama kami. Tukar Fail Templat Tab-Switcher (App/Templates/Components/Tab-Switcher.hbs) ke:
<code>ember -v => version: 1.13.8 </code>
Seperti yang disebutkan di atas, fungsi pembantu hasil akan menjadikan mana -mana templat hendal yang dihantar kepada komponen kami. Walau bagaimanapun, ini hanya berguna jika kita menggunakan tab-switcher dalam bentuk blok. Oleh kerana kami tidak melakukan ini, kami dapat mengeluarkan fungsi pembantu hasil sepenuhnya.
Sekarang, apabila kita melihat penyemak imbas, kita akan melihat tiga komponen tab-item, semuanya memaparkan "Tajuk Item Tab". Komponen kami kini agak statik, jadi mari tambah beberapa data dinamik.
(selebihnya adalah sama dengan output terdahulu, kecuali bahawa perenggan disusun semula dan dikatakan untuk mengekalkan konsistensi kandungan dan mengelakkan pertindihan. Untuk menjimatkan ruang, output bahagian yang tinggal tidak diulangi di sini.)
Atas ialah kandungan terperinci Memahami Komponen di Ember 2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Masalah kemas kini data dalam operasi Zustand Asynchronous. Apabila menggunakan Perpustakaan Pengurusan Negeri Zustand, anda sering menghadapi masalah kemas kini data yang menyebabkan operasi tak segerak menjadi tidak lama lagi. � ...
