AngularJS – Directive 介紹篇
接續前面提到的關於產品展示頁面的製作,我們在HTML文件上面加入一個Add to Cart的按鈕,但是希望這個按鈕可以有條件性的顯示或隱藏,我們可以在該按鈕的HTML標籤中加入ng-show=”store.product.canPurchase”的屬性,這個屬性會去判斷在gem數列中canPurchase中的值是否為true,若不是則該按鈕不顯示於畫面上,反之則會顯示加入購物車(Add to Cart)的按鈕。
在這個案例中canPurchase就算是在數列中的顯示參數,其實這個參數並不是一定要叫canPurchase這個名稱,可以自行決定名稱,例如在馬老師製作的案例中,我就是利用buttonShow這樣的參數名稱,大家也可以在JS Bin上面看看這個案例的程式碼。
<!DOCTYPE html> <html ng-app="store"> <head> <meta name="description" content="AngularJS directivesExample 1"> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script> <meta charset="utf-8"> <title>AngularJS directivesExample 1</title> </head> <body> <div ng-controller="StoreController as store"> <h1>{{ store.product.name }}</h1> <h2>NT${{ store.product.price }}</h2> <p>{{ store.product.description }}</p> <button ng-show="store.product.buttonShow">加入購物車</button> </div> </body> </html> (function(){ var app = angular.module('store',[]); app.controller('StoreController',function(){ this.product = item; }); var item = { name:"馬老師雲端研究室 滑鼠墊", price:"350", description:"有些人認為滑鼠墊就只是種簡單的產品。無非是將滑鼠放於上方並將之滑來拖去。 “表面”上來說確實如此(一語雙關)。但實際上,製造能帶來卓越遊戲體驗的滑鼠墊卻需要結合眾多科學、技術和工藝。身為遊戲滑鼠技術的世界領先者,對如何使滑鼠感測器高效運作我們獨樹一幟。運用專門知識來製造適合的滑鼠墊表面,讓滑鼠感測器得以作出高效而精確的反應。", buttonShow: false }; })();
另外還有一種資料顯示的手法,我們可以在gem數列中另外加入soldOut這個參數,而在div的HTML標籤中加入ng-show=”!store.product.soldOut”這樣的屬性,其中驚嘆號指的是不等於,所以這個屬性的意思即是當soldOut參數不等於true的時候要隱藏該div,也就是會隱藏所有的商品資訊。
不過這樣的表達方式並不是很直接,必須要做邏輯上的轉換,因為條件式是soldOut不等於true就顯示該商品,不是很容易搞懂,所以同樣的案例我們可以把HTML中的標籤的屬性改成ng-hide=”store.product.soldOut”,這樣一來我們只需要去看soldOut參數中的值是true或是false,如果賣完就不顯示;沒賣完就顯示,這是一個比較直覺的方法,透過JS Bin觀賞本案例的原始碼。
接下來看多項商品的製作方式,首先必須了解如何在Javascript的數列中加入多項商品的資料。
輸入了以上數列的資料後,在HTML的頁面上可以依下圖的方式呈現出多重商品的資訊,不過從以下的呈現方式可以看的出來,如果商品數量不僅僅是只有兩項,那頁面上面的HTML標籤就會過於複雜,所以下面的方法僅僅是讓大家了解邏輯的部分。
實際上呈現的方式可以參考下圖,是不是簡單多了,在JS Bin上面觀看。
接下來幫大家整理目前講解到的一些AngularJS的專有名稱說明:
- Directives(指示) – 在HTML中觸發Javascript行為的參數。
- Modules(模組) – 定義我們的應用程式。
- Controllers(控制器) – 定義我們應用程式該如運作。
- Expressions(表達式) – 我們的資料該如何的顯示在頁面上。
※以上截圖部分為AngularJS官方教學視訊,另有directive指令介紹的專頁。
I wanted to thank you for this good read!! I definitely loved every bit of it. I have got you saved as a favorite to look at new stuff you post…
Отличный сайт! Всем рекомендую!Лечение наркомании
Отличный сайт! Всем рекомендую!Лечение наркомании в Киеве
Greetings! Very helpful advice within this article! It is the little changes that will make the greatest changes. Thanks for sharing!
Предлагаем качественную печать на одежде для любого случая.
Отличный сайт! Всем рекомендую!Лечение наркомании в Киеве
I was very pleased to uncover this site. I need to to thank you for your time due to this wonderful read!! I definitely enjoyed every part of it and I have you book marked to look at new stuff in your web site.
This site certainly has all the information and facts I wanted concerning this subject and didn’t know who to ask.
This post is extremely educational. I truly enjoyed perusing it. The information is highly structured and straightforward to understand.
I used to be able to find good information from your blog posts.
Отличный сайт! Всем рекомендую!Лечение наркомании
buy deflazacort online cheap – buy calcort buy cheap generic alphagan
Wonderful post. It’s very clear and filled with valuable information. Many thanks for providing this post.
This article is extremely educational. I really appreciated perusing it. The information is very arranged and easy to follow.
https://www.youtube.com/watch?v=DuxW6pWU1pE
It’s nearly impossible to find well-informed people for this subject, however, you seem like you know what you’re talking about! Thanks
Infection can range from mild to moderate to severe.
Buying online so that you know what the lowest price of ampicillin-dextrin agar with vancomycin pills easily.
A cough may develop because of postnasal drip or a sore throat, and that cough may linger after congestion and other cold symptoms fade.
Just an hour ago, I had been driving down the Mass Pike on my motorcycle!
There are many pharmacies where you can glucophage gadolinium pills here are sold below whole
Abortion is a safe and legal way to end a pregnancy.
buy cheap generic duphalac – betahistine for sale online purchase betahistine pill
Adored the details in this entry. It’s extremely well-researched and packed with beneficial insights. Excellent job!
Spot on with this write-up, I really think this site needs a lot more attention. I’ll probably be returning to see more, thanks for the info!
Отличный сайт! Всем рекомендую!заказать вывеску тюмень
Also she has lost between 60 — 90 lbs.
Identify price savings and prednisone blood pressure . See how it works!
The long-term impact of a traumatic event is uncertain.
After I originally left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and now whenever a comment is added I get 4 emails with the same comment. There has to be a means you can remove me from that service? Many thanks.
I have been examinating out a few of your stories and i can claim pretty good stuff. I will surely bookmark your website.
This is a topic that’s near to my heart… Best wishes! Where are your contact details though?
This publication is provided for education and information purposes only.
Benefit from big savings each time you buy cymbalta and lyrica together for nerve pain is more convenient
Kiwi Men have the third highest rate of bowel cancer in OECD countries.
Отличный сайт! Всем рекомендую!заказать вывеску тюмень
Having read this I believed it was really informative. I appreciate you finding the time and effort to put this informative article together. I once again find myself personally spending a significant amount of time both reading and commenting. But so what, it was still worth it.
You actually make it seem really easy together with your presentation but I to find this matter to be really one thing which I think I’d by no means understand. It seems too complicated and extremely vast for me. I’m taking a look forward in your subsequent put up, I’ll attempt to get the hold of it!
Отличный сайт! Всем рекомендую!печать листовок в Тюмени