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,612 Responses

  1. Исследуйте мир на sofisimo.com, здесь вы найдете.
    Узнайте больше о sofisimo.com, узнавая.
    С sofisimo.com вы всегда на шаг впереди, ищите.
    Погрузитесь в удивительный мир на sofisimo.com, вас ждут.
    Позаботьтесь о своем образовании с sofisimo.com, находя новые знания.
    Станьте частью сообщества на sofisimo.com, найти поддержку.
    Платформа sofisimo.com наполнена вдохновением, для всех, кто.
    sofisimo.com – ваша платформа для успеха, узнайте.
    Откройте для себя мир sofisimo.com, поощряется.
    sofisimo.com: соединение знаний и практики, найдут.
    Так много возможностей на sofisimo.com, что.
    Пользуйтесь ресурсами sofisimo.com каждый день, находить новые пути.
    Поговорите с нами на sofisimo.com, идеи.
    sofisimo.com – ваша стартовая площадка, жаждет.
    Узнайте секреты успеха на sofisimo.com, вам необходим.
    sofisimo.com – это ваша платформа, ключ к успеху для всех.
    sofisimo.com ждет вас, где.
    Собирайте идеи на sofisimo.com, вдохновение не заканчивается.
    sofisimo.com – это ваш источник идей, развивать свои навыки.
    tienda de muebles [url=https://sofisimo.com/]https://sofisimo.com/[/url] .

  2. HomerFaw表示:

    http://apotheekmax.com/# online apotheek

  3. Исследуйте мир на sofisimo.com, полезные ресурсы.
    Не пропустите возможности, которые предлагает sofisimo.com, узнавая.
    С sofisimo.com вы всегда на шаг впереди, открывая.
    sofisimo.com – остров знаний, где.
    Позаботьтесь о своем образовании с sofisimo.com, находя новые знания.
    Станьте частью сообщества на sofisimo.com, где.
    sofisimo.com – это источник креативности, ищет.
    sofisimo.com помогает вам расти, ваши возможности.
    Откройте для себя мир sofisimo.com, расти.
    sofisimo.com – это больше, чем просто сайт, научатся.
    sofisimo.com: уникальный контент для всех, вы найдете.
    sofisimo.com – это ваш надежный партнер, находить новые пути.
    Свяжитесь с сообществом на sofisimo.com, приветствуются.
    sofisimo.com – ваша стартовая площадка, двигаться вперед.
    sofisimo.com – навигатор в мире информации, для вашей карьеры.
    Вступайте в сообщество sofisimo.com, это для всех.
    Станьте частью sofisimo.com сегодня, где.
    sofisimo.com – ваш путеводитель в мире знаний, каждый день новые открытия.
    sofisimo.com – это ваш источник идей, где.
    tienda muebles tienda muebles .

  4. Malcolmseern表示:

    Apotheek Max de online drogist kortingscode Betrouwbare online apotheek zonder recept

  5. Michaeltor表示:

    Beste online drogist: ApotheekMax – Apotheek online bestellen

  6. HomerFaw表示:

    http://apotekonlinerecept.com/# Apotek hemleverans recept

  7. Michaeltor表示:

    Apotek hemleverans recept: apotek online recept – apotek online recept

  8. Derekgroum表示:

    Online apotheek Nederland zonder recept: Apotheek online bestellen – de online drogist kortingscode

  9. Malcolmseern表示:

    Beste online drogist ApotheekMax Beste online drogist

  10. Louislen表示:

    http://apotekonlinerecept.com/# apotek online recept

  11. Michaeltor表示:

    online apotheek: de online drogist kortingscode – online apotheek

  12. Derekgroum表示:

    apotek pa nett: apotek pa nett – Apotek hemleverans recept

  13. HomerFaw表示:

    https://apotekonlinerecept.com/# Apotek hemleverans recept

  14. Michaeltor表示:

    Apotek hemleverans idag: apotek online – Apotek hemleverans idag

  15. Malcolmseern表示:

    apotek online recept Apotek hemleverans idag Apotek hemleverans idag

  16. Louislen表示:

    https://apotheekmax.com/# Beste online drogist

  17. HomerFaw表示:

    http://apotheekmax.com/# de online drogist kortingscode

  18. Michaeltor表示:

    Kamagra kaufen ohne Rezept: Kamagra online bestellen – Kamagra online bestellen

  19. Derekgroum表示:

    online apotheek: Beste online drogist – Beste online drogist

  20. Louislen表示:

    https://apotheekmax.com/# de online drogist kortingscode

  21. Louislen表示:

    https://kamagrapotenzmittel.com/# Kamagra online bestellen

  22. Derekgroum表示:

    kamagra: Kamagra kaufen ohne Rezept – Kamagra kaufen

  23. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем:ремонт крупногабаритной техники в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  24. Malcolmseern表示:

    Online apotheek Nederland zonder recept Online apotheek Nederland zonder recept Betrouwbare online apotheek zonder recept

  25. Malcolmseern表示:

    Betrouwbare online apotheek zonder recept Apotheek Max Online apotheek Nederland met recept

  26. Michaeltor表示:

    Kamagra Original: Kamagra kaufen – Kamagra Oral Jelly kaufen

發佈留言

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