AngularJS – Controller 介紹篇

繼續AngularJS的介紹,接下來我們看看controller的應用,以商品介紹的頁面為例,來看看這些資料要如何呈現在頁面上,想要呈現的資料有產品名稱、價格以及描述。

為了方便文章閱讀,本篇將application翻譯成應用程式;controller翻譯成控制器

AngularJS Part2 Slide1

控制器負責定義函數和值來決定整個應用程式的行為,同樣我們把Javascript和HTML分開來開發,在app.js內定義應用程式名稱和控制器的名稱、函數與值,在這次的案例中也提到利用(function(){})()包裝整個javascript是一種好習慣,有關於函式的基本觀念,大家可以閱讀一下這篇文章,介紹的還蠻詳細的!包裝部分的概念可參考其中介紹的立即函示(IIFE – Immediately Invoked Function Expression)。

AngularJS Part2 Slide2

定義好之後可以開始定義該控制器內的值,其中this.product=gem的意思是指未來在輸出時可以利用product.name去取得Dodecahedron;product.price去取得2.95…等等。

AngularJS Part2 Slide3

接下來就是把這些值顯示在網頁上,首先可以在div標籤內加上ng-controller=”StoreController as store”的屬性,其中ng-controller是去指定StoreController為該div內的控制器名稱;store是別名(類似綽號)未來呼叫store時就是在呼叫StoreController這個控制器。

AngularJS Part2 Slide5

在HTML標籤內開始輸出該控制器內的值,分別是:store.product.name、store.product.price、store.product.description三個項目,而在頁面上就會看到這三個值被顯示出來了。

AngularJS Part2 Slide6

需要注意的是,如果我們把輸出值部分的程式碼放在div外側的話,會沒有辦法順利的顯示值,因為我們的控制器是指定於div標籤內,離開了div標籤就無法取得該控制器了。

AngularJS Part2 Slide7

本篇的教學就到這邊,大家也可以透過JS Bin來測試或閱讀本次案例的程式碼。

<!DOCTYPE html>
<html ng-app="store">
<head>
<meta name="description" content="controllerExample">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
  <meta charset="utf-8">
  <title>controllerExample</title>
</head>
<body>
  
  <div ng-controller="StoreController as store">
    <h1>{{ store.product.name }}</h1>
    <h2>{{ store.product.price }}</h2>
    <p>{{ store.product.description }}</p>
  </div>
  
</body>
</html>
(function(){
  var app = angular.module('store',[]);
  
  app.controller('StoreController',function(){
    this.product = item;
  });
  
  var item = {
    name:"馬老師雲端研究室 滑鼠墊",
    price:"350",
    description:"有些人認為滑鼠墊就只是種簡單的產品。無非是將滑鼠放於上方並將之滑來拖去。 “表面”上來說確實如此(一語雙關)。但實際上,製造能帶來卓越遊戲體驗的滑鼠墊卻需要結合眾多科學、技術和工藝。身為遊戲滑鼠技術的世界領先者,對如何使滑鼠感測器高效運作我們獨樹一幟。運用專門知識來製造適合的滑鼠墊表面,讓滑鼠感測器得以作出高效而精確的反應。",    
  };
  
})();

※以上截圖部分為AngularJS官方教學視訊,另有控制器指令介紹的專頁

You may also like...

16,550 Responses

  1. BernardFax表示:

    alo 789: alo789 – alo789hk

  2. Josephsip表示:

    keo nha cai 88bet: 188bet 88bet – 88bet slot

  3. BernardFax表示:

    88 bet: 88bet – keo nha cai 88bet

  4. Тут можно преобрести купить взломостойкий сейф купить сейф взломостойкий в москве

  5. Тут можно преобрести купить сейф в москве купить сейф москва

  6. Тут можно преобрести сейф цена москва сейф москва

  7. Stevenkated表示:

    http://k8viet.gurum/# k8 bet

  8. Curtismence表示:

    https://alo789.auction/# alo789 dang nh?p

  9. BernardFax表示:

    k8 bet: nha cai k8 – k8 bet

  10. BMW_tsmt表示:

    Элегантность и производительность BMW X6, совершенной техники.
    BMW X6: динамика и комфорт, любителей.
    BMW X6.
    Уникальный дизайн BMW X6, автомобилей.
    Динамика и производительность BMW X6, особенности.
    BMW X6: лучшее сочетание цены и качества, выбор.
    Роскошь внутри BMW X6, подчеркивают.
    Ваш надежный спутник – BMW X6, всегда.
    Почему стоит выбрать BMW X6?, в нашем анализе.
    Мощь и маневренность BMW X6, завораживают.
    Надежность и безопасность BMW X6, на высшем уровне.
    BMW X6 – это не просто кроссовер, открывает.
    Инновации в BMW X6, меняют.
    Как BMW X6 спроектирован для вашего комфорта, изучите.
    Преимущества владения BMW X6, в нашем анализе.
    BMW X6: стиль, который невозможно не заметить, подчеркнет ваш статус.
    Сравните BMW X6 с конкурентами, в нашем обзоре.
    Изучите отзывы владельцев BMW X6, в нашем обзоре.
    Современные системы безопасности BMW X6, позаботятся о вас.
    BMW X6: наш окончательный вердикт, подводим итоги.
    x3 bmw https://bmw-x6.biz.ua/ .

  11. Join 888Starz Pakistan and play your favorite casino games for real rewards.

  12. Josephsip表示:

    88bet slot: 88 bet – 88bet

  13. Curtismence表示:

    https://alo789.auction/# alo789 dang nh?p

  14. BMW_atmt表示:

    Новый BMW X6: стиль и мощь, особенности.
    BMW X6: динамика и комфорт, поклонников.
    кроссовера BMW X6.
    Стильный и агрессивный BMW X6, высокой техники.
    BMW X6: мощь на каждый день, настоящего монстра.
    Кроссовер BMW X6, который стоит выбрать, инвестирование.
    Потрясающая отделка и материалы в BMW X6, исключительное качество.
    Незаменимый помощник на дороге – BMW X6, обеспечит.
    Причины популярности BMW X6, в нашем анализе.
    Динамичный BMW X6 – для активной жизни, любой.
    Обеспечьте свою безопасность с BMW X6, постоянно.
    Почему BMW X6 – это лучшее решение, открыл.
    Инновации в BMW X6, меняют.
    Как BMW X6 спроектирован для вашего комфорта, узнайте.
    Чем BMW X6 превосходит другие кроссоверы?, в нашем руководстве.
    Выразительный дизайн BMW X6, сделает вас заметным.
    BMW X6 против других SUV, в нашем отчете.
    Что говорят владельцы о BMW X6?, в нашем обзоре.
    Новые технологии безопасности в BMW X6, защитят вас.
    Итоги: BMW X6, как лучший выбор, подводим итоги.
    x6 bmw x6 bmw .

  15. Josephsip表示:

    nha cai k8: link vao k8 – k8 th? dam

  16. Curtismence表示:

    https://alo789.auction/# alo789 dang nh?p

  17. Stevenkated表示:

    https://88betviet.pro/# 188bet 88bet

  18. Rubengax表示:

    k8 bet link vao k8 k8 th? dam

  19. Ricky Casino表示:

    25477 204119you use a wonderful blog here! do you wish to earn some invite posts on my small weblog? 709248

  20. Qnvvfm表示:

    order omeprazole pill – buy prilosec 20mg atenolol 50mg without prescription

  21. Manta Bridge表示:

    US Bitcoin reserve prompts $370 million in ETF outflows: Farside

  22. BryanCar表示:

    Always stocked with the best brands.
    where can i buy generic cytotec pills
    The drive-thru option is a lifesaver.

  23. KennethIdiom表示:

    https://akhbutina.kz/# Казино предлагает множество игровых автоматов.

  24. Jessepooto表示:

    Заходите РІ казино, чтобы испытать удачу.: balloon казино играть – balloon казино

  25. BryanCar表示:

    Stellar service in every department.
    can you buy lisinopril pills
    Definitive journal of drugs and therapeutics.

  26. JamesUsalm表示:

    В этом интересном тексте собраны обширные сведения, которые помогут вам понять различные аспекты обсуждаемой темы. Мы разбираем детали и факты, делая акцент на важности каждого элемента. Не упустите возможность расширить свои знания и взглянуть на мир по-новому!
    Детальнее – https://mednarkoforum.ru/

  27. Davidriday表示:

    balloon казино демо balloon игра Играйте РїРѕ СЃРІРѕРёРј правилам РЅР° автомате.

  28. JosephRar表示:

    Автомат Ballon предлагает уникальные Р±РѕРЅСѓСЃС‹.: balloon игра – balloon игра

  29. BryanCar表示:

    They offer international health solutions without borders.
    cost of lisinopril at walgreens
    They source globally to provide the best care locally.

  30. BryanCar表示:

    Generic Name.
    how to buy generic clomid without prescription
    This pharmacy has a wonderful community feel.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。