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指令介紹的專頁。
wanmora 341c3170be https://maps.google.com.gr/url?q=https://workplace.vidcloud.io/social/upload/files/2022/05/EsSM9uCBJkbjKuOSEeU7_17_be06467c56c2236190633bb3e0b4fefe_file.pdf
cefuroxime without prescription – order generic tadalafil cialis walmart
rafnel 341c3170be http://pc-driver.ru/redirect.php?url=https://desifaceup.in/upload/files/2022/05/alYv4c8MNUxDWwlHx6pe_17_b11ef7ca7e04cfa104d3db603880acbf_file.pdf
ricwak 341c3170be https://images.google.ee/url?q=https://thefuturegoal.com/upload/files/2022/05/YRKbK1k5tfCQTZ8us8CO_17_778d345b167766bb2877732d952473bb_file.pdf
rambvyr 807794c184 https://de.worldclasscavaliers.com/profile/AlcoDens-WinMac-April2022/profile
venbir 807794c184 https://www.caps2kicks.com/profile/rainarhamyltonrainar/profile
carmbess 807794c184 https://www.triple-tree.com/external/?url=https://www.nuovaofficinadelladanza.org/profile/Ocster-Backup-Freeware-Crack-Activator/profile
sophkent 807794c184 http://www.103.kz/iframe/?id=10357093&ref=http://sporling-maxias.blogspot.com&url=https://www.langleyhumandignity.org/profile/gilmorgilbertyne/profile
jawauad 807794c184 https://www.zuriandemma.com/profile/lannahlannahbelphoebee/profile
ellrash 807794c184 https://audiokrystof.blog.idnes.cz/redir.aspx?url=https://www.corrynwebbillustration.co.uk/profile/danisechauntadanise/profile
patrode 807794c184 https://innet-trading.com/bitrix/redirect.php?event1=&event2=&event3=&goto=https://www.instachew.com/profile/randinavaleenacrystal/profile
amrtaid 807794c184 http://xn--80aa1bjf.xn--p1ai/bitrix/rk.php?goto=https://www.weedindc.org/profile/vanesiawhytlivanesia/profile
makipew 807794c184 http://kidshealth.info/__media__/js/netsoltrademark.php?d=https://www.austincoaching.com.au/profile/Dnss-Domain-Name-Search-Software-Crack-Free/profile
blamar 807794c184 http://www1.ee/go/url=https://www.raw-photographic.com/profile/Mypeople-Crack-With-Registration-Code/profile
glennaz 807794c184 http://cse.google.ms/url?sa=t&url=https://www.wellspringmedicalspa.com/profile/ImgBoard-Cloner-Crack-Full-Product-Key-Updated-2022/profile
generic drugs india order online india pharmacy mail order trusted india online pharmacies
ellzen 7bd55e62be https://biggr81.wixsite.com/alabanga/profile/Terjemahan-Kitab-Balaghahpdfl/profile
netdav 7bd55e62be https://www.lastrate.fr/profile/tainahmaynardtainah/profile
nobfrod 7bd55e62be https://he.elliskosherkitchen.com/profile/REPACK-Windows-10-Download-Iso/profile
jalaorlo 7bd55e62be https://www.goodborn.net/profile/ragusoragusobreannah/profile
marfolk 7bd55e62be https://www.maddiecaballo.com/profile/Simlab-Obj-Importer-For-Sketchup-Crack-21l-hensigf/profile
quabra 7bd55e62be https://j02242122.wixsite.com/website/profile/Download-Hum-Kisi-Se-Kum-Nahin-Hum-Kisise/profile
brooreid 7bd55e62be https://www.australianarab.org/profile/alfonsovyttoriah/profile
stromectol for sale stromectol pills for humans stromectol price usa
wiacir 7bd55e62be https://www.fillipisms.com/profile/goannasophieemykill/profile
order budesonide without prescription – buy cialis 5mg antabuse 250mg tablet
marisav 353a2c1c90 https://www.cakeresume.com/portfolios/photoshop-tutorial-ala-kenvin-pinardy-free-downloa
deremedr 353a2c1c90 https://www.saintlyskin.es/profile/Mayakkam-Enna-Movie-Download-Dvdripinstmank/profile
damdoc 353a2c1c90 https://www.photoboothleeds.com/profile/Navione-Exe/profile
isrnean 353a2c1c90 https://nakitagagliardi925.wixsite.com/otolinmad/post/barfi-full-movie-720p-download-lylecar