Rumah hujung hadapan web tutorial js AngularJS Tutorial Bermula (2): AngularJS Template_AngularJS

AngularJS Tutorial Bermula (2): AngularJS Template_AngularJS

May 16, 2016 pm 04:28 PM
angularjs Tutorial Bermula

Sudah tiba masanya untuk memberikan halaman web ini beberapa ciri dinamik - gunakan AngularJS! Kami telah menambah ujian di sini untuk pengawal yang akan ditambah kemudian.

Terdapat banyak jenis struktur kod untuk aplikasi. Untuk aplikasi AngularJS, kami menggalakkan penggunaan corak Model-View-Controller (MVC) untuk memisahkan kod dan memisahkan kebimbangan. Dengan ini, kami menggunakan AngularJS untuk menambah beberapa model, pandangan dan pengawal pada aplikasi kami.

Sila tetapkan semula direktori kerja:

Salin kod Kod adalah seperti berikut:

git checkout -f langkah-2

Apl kami kini mempunyai senarai tiga telefon.

Perbezaan paling penting antara langkah 1 dan langkah 2 disenaraikan di bawah. Anda boleh pergi ke GitHub untuk melihat perbezaan yang lengkap.

Paparan dan Templat

Dalam AngularJS, paparan ialah pemetaan model yang diberikan melalui templat HTML. Ini bermakna apabila model berubah, AngularJS akan mengemas kini titik gabungan dalam masa nyata dan mengemas kini paparan dengan sewajarnya.

Sebagai contoh, komponen paparan dibina oleh AngularJS menggunakan templat berikut:

Salin kod Kod adalah seperti berikut:



...





  • {{phone.name}}

    {{phone.snippet}}






Kami baru sahaja menggantikan senarai telefon yang dikodkan secara statik, kerana di sini kami menggunakan arahan ngRepeat dan dua ungkapan AngularJS yang dibalut dengan pendakap kerinting - {{phone.name}} dan {{phone.snippet}} ——boleh mencapai kesan yang sama .

1. Pernyataan ng-repeat="phone in phones" dalam teg

  • Peulang ini memberitahu AngularJS untuk mencipta elemen
  • untuk setiap telefon dalam senarai, menggunakan teg
  • 2. Seperti yang kita pelajari dalam langkah 0, pendakap kerinting mengelilingi phone.name dan phone.snippet mengenal pasti pengikatan data. Berbeza daripada pengiraan berterusan, ungkapan di sini sebenarnya adalah rujukan model data aplikasi kami, yang telah kami tetapkan dalam pengawal PhoneListCtrl.

    Model dan Pengawal

    Model data dimulakan dalam pengawal PhoneListCtrl (ini hanyalah fungsi yang mengandungi tatasusunan, dan objek yang disimpan dalam tatasusunan ialah senarai data telefon mudah alih):

    app/js/controller.js:

    Salin kod Kod adalah seperti berikut:

    fungsi PhoneListCtrl($skop) {
    $scope.phones = [
    {"name": "Nexus S",
    "snippet": "Pantas menjadi lebih pantas dengan Nexus S."},
    {"name": "Motorola XOOM™ dengan Wi-Fi",
    "snippet": "Tablet Seterusnya, Generasi Seterusnya."},
    {"name": "MOTOROLA XOOM™",
    "snippet": "Tablet Seterusnya, Generasi Seterusnya."}
    ];
    }

    Walaupun pengawal nampaknya tidak memainkan peranan mengawal, ia memainkan peranan penting di sini. Pengawal membenarkan kami mewujudkan pengikatan data antara model dan pandangan dengan memberi mereka konteks model data kami. Beginilah cara kami menyambungkan lapisan pembentangan, data dan komponen logik:

    1.PhoneListCtrl - Nama kaedah pengawal (dalam pengawal fail JS.js) sepadan dengan nilai arahan ngController dalam teg

    2 Data telefon kini dikaitkan dengan skop ($skop) yang disuntik ke dalam fungsi pengawal kami. Apabila aplikasi bermula, skop akar dicipta dan skop pengawal ialah pengganti biasa skop akar. Skop pengawal ini sah untuk semua pengikatan data dalam teg

    Teori skop AngularJS sangat penting: skop boleh dianggap sebagai pelekat untuk templat, model dan pengawal untuk bekerjasama. AngularJS menggunakan skop, bersama-sama dengan maklumat dalam templat, model data dan pengawal. Ini boleh membantu memisahkan model dan paparan, tetapi kedua-duanya benar-benar selari! Sebarang perubahan pada model akan dicerminkan serta-merta dalam paparan apa-apa perubahan pada paparan serta-merta dicerminkan dalam model.

    Untuk pemahaman yang lebih mendalam tentang skop AngularJS, sila rujuk Dokumen Skop AngularJS.

    Ujian

    "Cara AngularJS" menjadikan ujian kod semasa pembangunan sangat mudah. Mari lihat ujian unit yang baru ditambah berikut untuk pengawal:

    test/unit/controllersSpec.js:

    Salin kod Kod adalah seperti berikut:

    describe('PhoneCat controllers', function() {

    huraikan('PhoneListCtrl', fungsi(){

    ia('harus mencipta model "telefon" dengan 3 telefon', function() {
    skop var = {},
    ctrl = PhoneListCtrl(skop) baharu;

    jangkakan(skop.telefon.panjang).toBe(3);
    });
    });
    });

    Ujian ini mengesahkan bahawa terdapat tiga rekod dalam tatasusunan telefon mudah alih kami (tidak perlu memikirkan skrip ujian ini lagi). Contoh ini menunjukkan betapa mudahnya untuk membuat ujian unit untuk kod AngularJS. Oleh kerana ujian adalah bahagian penting dalam pembangunan perisian, kami memudahkan untuk membina ujian dalam AngularJS untuk menggalakkan pembangun menulis lebih banyak daripadanya.

    Apabila menulis ujian, pembangun AngularJS cenderung menggunakan sintaks dalam rangka kerja Pembangunan Didorong Tingkah Laku Jasmine (BBD). Walaupun AngularJS tidak memaksa anda untuk menggunakan Jasmine, semua ujian kami dalam tutorial ditulis menggunakan Jasmine. Anda boleh mendapatkan pengetahuan yang berkaitan di laman utama rasmi Jasmine atau Wiki Jasmine.

    Projek berasaskan AngularJS diprakonfigurasikan untuk menggunakan JsTestDriver untuk menjalankan ujian unit.

    Anda boleh menjalankan ujian seperti ini:

    1. Pada terminal yang berasingan, masukkan direktori angular-phonecat dan jalankan ./scripts/test-server.sh untuk memulakan ujian (sila masukkan .scriptstest-server.bat pada baris arahan Windows untuk menjalankan skrip, diikuti dengan Perintah skrip berjalan dengan cara yang sama); 2. Buka tetingkap penyemak imbas baharu dan pergi ke http://localhost:9876; 3. Pilih "Tangkap pelayar ini dalam mod ketat".

    Pada masa ini, anda boleh mengetepikan tingkap anda dan melupakannya. JsTestDriver akan menjalankan ujian itu sendiri dan mengeluarkan keputusan dalam terminal anda.

    4. Jalankan ./scripts/test.sh untuk menguji.

    Anda sepatutnya melihat hasil yang serupa dengan yang berikut:


    Chrome: Tetapan semula pelari.
    .
    Jumlah 1 ujian (Lulus: 1; Gagal: 0; Ralat: 0) (2.00 ms)
    Chrome 19.0.1084.36 Mac OS: Jalankan 1 ujian (Lulus: 1; Gagal: 0; Ralat 0) (2.00 ms)


    yeah! Ujian lulus! Atau tidak... Nota: Jika ralat berlaku selepas anda menjalankan ujian, tutup penyemak imbas dan kembali ke terminal untuk menutup skrip, kemudian cuba langkah di atas sekali lagi.

    Berlatih

    Tambahkan pengikatan data lain untuk index.html. Contohnya:


    Salin kod Kod adalah seperti berikut:

    Jumlah bilangan telefon: {{phones.length}}



    Buat sifat model data baharu dan ikatkannya pada templat. Contohnya:
    Salin kod Kod adalah seperti berikut:

    $scope.hello = "Helo, Dunia!"

    Kemas kini penyemak imbas anda untuk memastikan ia tertera "Hello, World!" Buat jadual ringkas dengan lelaran:


    Salin kod Kod adalah seperti berikut:

    nombor baris
    {{i}}


    Sekarang biarkan saya menambah ungkapan model data sebanyak 1:

    Salin kod Kod adalah seperti berikut:

    nombor baris
    {{i 1}}


    Pastikan ujian unit gagal selepas menukar kepadaBe(3) kepadaBe(4), dan kemudian jalankan skrip ./scripts/test.sh sekali lagi

    Ringkasan

    Anda kini mempunyai aplikasi dinamik dengan model, paparan dan pengawal berasingan yang boleh anda uji pada bila-bila masa. Kini, anda boleh meneruskan ke langkah 3 untuk menambah fungsi carian teks penuh pada aplikasi anda.

  • Kenyataan Laman Web ini
    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

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Cara menghidupkan semula rakan sepasukan
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Rangka kerja pelaksanaan PHP: Tutorial pengenalan CakePHP Rangka kerja pelaksanaan PHP: Tutorial pengenalan CakePHP Jun 18, 2023 am 09:04 AM

    Dengan pembangunan berterusan teknologi Internet, teknologi pembangunan Web juga sentiasa dikemas kini dan diulang. Sebagai bahasa pengaturcaraan sumber terbuka, PHP digunakan secara meluas dalam pembangunan web. Sebagai salah satu alat yang biasa digunakan dalam pembangunan PHP, rangka kerja PHP boleh meningkatkan kecekapan pembangunan dan kualiti kod. Artikel ini akan memperkenalkan anda kepada rangka kerja PHP - CakePHP, dan menyediakan beberapa tutorial mudah untuk bermula. 1. Apakah itu CakePHP? CakePHP ialah model berdasarkan MVC (Model-View-Control

    Panduan Pemula: Mulakan dari awal dan pelajari MyBatis langkah demi langkah Panduan Pemula: Mulakan dari awal dan pelajari MyBatis langkah demi langkah Feb 19, 2024 am 11:05 AM

    Tutorial pengenalan MyBatis yang ringkas dan mudah difahami: tulis program pertama anda langkah demi langkah MyBatis ialah rangka kerja lapisan ketekunan Java yang popular yang memudahkan proses berinteraksi dengan pangkalan data. Tutorial ini akan menunjukkan kepada anda cara menggunakan MyBatis untuk mencipta dan melaksanakan operasi pangkalan data yang mudah. Langkah 1: Persediaan persekitaran Mula-mula, pastikan persekitaran pembangunan Java anda telah dipasang. Kemudian, muat turun versi terkini MyBatis dan tambahkannya pada projek Java anda. Anda boleh memuat turunnya dari laman web rasmi MyBatis

    Rangka kerja pelaksanaan PHP: Tutorial pengenalan rangka kerja Lumen Rangka kerja pelaksanaan PHP: Tutorial pengenalan rangka kerja Lumen Jun 18, 2023 am 08:39 AM

    Lumen ialah rangka kerja mikro berasaskan PHP yang dibangunkan oleh pembangun rangka kerja Laravel. Ia pada asalnya direka untuk membina aplikasi API kecil dan perkhidmatan mikro, sambil mengekalkan beberapa komponen dan ciri rangka kerja Laravel. Rangka kerja Lumen adalah ringan, pantas dan mudah digunakan, jadi ia telah mendapat perhatian dan penggunaan yang meluas. Dalam artikel ini, kami akan segera memulakan rangka kerja Lumen dan mempelajari cara menggunakan rangka kerja Lumen untuk membina aplikasi API mudah. Penyediaan rangka kerja Sebelum mempelajari rangka kerja Lumen, kita perlu

    2022年最新5款的angularjs教程从入门到精通 2022年最新5款的angularjs教程从入门到精通 Jun 15, 2017 pm 05:50 PM

    Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

    Gunakan PHP dan AngularJS untuk membina tapak web responsif untuk menyediakan pengalaman pengguna yang berkualiti tinggi Gunakan PHP dan AngularJS untuk membina tapak web responsif untuk menyediakan pengalaman pengguna yang berkualiti tinggi Jun 27, 2023 pm 07:37 PM

    Dalam era maklumat hari ini, laman web telah menjadi alat penting untuk orang ramai mendapatkan maklumat dan berkomunikasi. Tapak web responsif boleh menyesuaikan diri dengan pelbagai peranti dan memberikan pengguna pengalaman berkualiti tinggi, yang telah menjadi tumpuan dalam pembangunan tapak web moden. Artikel ini akan memperkenalkan cara menggunakan PHP dan AngularJS untuk membina tapak web responsif untuk memberikan pengalaman pengguna yang berkualiti tinggi. Pengenalan kepada PHP PHP ialah bahasa pengaturcaraan sisi pelayan sumber terbuka yang sesuai untuk pembangunan web. PHP mempunyai banyak kelebihan, seperti mudah dipelajari, merentas platform, perpustakaan alat yang kaya, kecekapan pembangunan

    Bina aplikasi web menggunakan PHP dan AngularJS Bina aplikasi web menggunakan PHP dan AngularJS May 27, 2023 pm 08:10 PM

    Dengan pembangunan berterusan Internet, aplikasi Web telah menjadi bahagian penting dalam pembinaan maklumat perusahaan dan cara kerja pemodenan yang diperlukan. Untuk menjadikan aplikasi web mudah dibangunkan, diselenggara dan dikembangkan, pembangun perlu memilih rangka kerja teknikal dan bahasa pengaturcaraan yang sesuai dengan keperluan pembangunan mereka. PHP dan AngularJS ialah dua teknologi pembangunan web yang sangat popular. Kedua-duanya adalah penyelesaian bahagian pelayan dan bahagian pelanggan. Penggunaan gabungan mereka boleh meningkatkan kecekapan pembangunan dan pengalaman pengguna aplikasi web. Kelebihan PHPPHP

    Bermula dengan rangka kerja Flask Python Bermula dengan rangka kerja Flask Python Jun 17, 2023 am 08:48 AM

    Tutorial pengenalan rangka kerja PythonFlask Flask ialah rangka kerja Web Python yang ringkas dan mudah digunakan Ia memberi lebih perhatian kepada fleksibiliti dan ringan, membolehkan pengaturcara membina mengikut pilihan mereka sendiri. Artikel ini akan memperkenalkan anda kepada konsep asas, pemasangan dan penggunaan Flask, dan menggunakan contoh mudah untuk menunjukkan cara menggunakan Flask untuk membina aplikasi web. Apa itu Flask? Flask ialah rangka kerja aplikasi web ringan berdasarkan Python yang tidak memerlukan penggunaan mana-mana khas

    Panduan Menghantar E-mel Java: Permulaan Mudah dan Demonstrasi Praktikal Panduan Menghantar E-mel Java: Permulaan Mudah dan Demonstrasi Praktikal Dec 27, 2023 am 09:17 AM

    Tutorial Menghantar E-mel Java: Permulaan Pantas dan Contoh Demonstrasi Dalam beberapa tahun kebelakangan ini, dengan populariti dan perkembangan Internet, e-mel telah menjadi bahagian yang amat diperlukan dalam kehidupan dan pekerjaan harian orang ramai. Menghantar e-mel melalui bahasa pengaturcaraan Java bukan sahaja boleh mencapai penghantaran e-mel yang pantas dan cekap, tetapi juga meningkatkan kecekapan kerja melalui automasi. Artikel ini akan memperkenalkan cara menggunakan perpustakaan JavaMail untuk menghantar e-mel dalam Java dan menunjukkannya melalui contoh kod tertentu. Langkah 1: Import dan konfigurasikan perpustakaan JavaMail dahulu

    See all articles