如何建立Ember Handlebars模板?


Ember.js是一個基於JavaScript的框架,廣泛用於構建複雜的Web應用程式。該框架允許開發者僅使用一些通用的習慣用法、最佳實踐和其他單頁應用程式生態系統模式中的模式,來建立可擴充套件的單頁Web應用程式。

Handlebars模板系統是其關鍵特性之一,它提供了一種簡單而強大的方法來建立動態網頁。在本文中,我們將瞭解如何建立Ember Handlebars模板。

什麼是Ember中的模板?

Ember中的模板用於定義Web應用程式的使用者介面(UI)。模板使用Handlebars語法編寫,這是一種簡單的模板語言,透過將資料嵌入HTML標記中來建立動態HTML頁面。

Ember.js模板結合使用HTML和Handlebars語法來建立使用者介面,該介面用於響應資料的更改。這包括諸如條件語句、迴圈和計算屬性之類的邏輯,允許開發者用更少的程式碼建立複雜和動態的UI。

它們被構建為元件的層次結構,其中每個元件代表UI的特定部分。元件可能包含其他元件,以允許複雜和巢狀的結構。渲染的元件根據其模板以及傳遞給它的任何資料或引數生成HTML。

什麼是Ember中的Handlebars模板?

Handlebars是一種流行的模板語言,用於建立動態HTML頁面。它提供了一個簡單的語法,用於將資料嵌入HTML標記中,允許開發者用最少的程式碼建立動態且響應迅速的使用者介面。

在Handlebars中,模板使用HTML標記和Handlebars表示式的組合來定義。Handlebars表示式用雙大括號({{ }})括起來,可用於顯示資料、迭代列表和有條件地顯示內容。

<ul>
   {{#each items as |item|}}
      <li>{{item}}</li>
   {{/each}}
</ul>

在這個模板中,{{#each}}表示式用於迭代專案列表,{{item}}表示式用於在列表項(<li>)中顯示每個專案。

Handlebars模板中的表示式

表示式用於將動態內容嵌入HTML中。它們用大括號{{ }}括起來,可能包含變數、輔助函式和條件語句。

假設我們有一個名為last-name的變數,其中包含字串值“World”,我們想在Handlebars模板中顯示它,那麼我們可以使用以下表達式:

<h1>Hello, {{last-name}}!</h1>

建立Ember Handlebars模板的步驟

要建立一個Ember Handlebars模板,需要遵循一些步驟。讓我們詳細地逐一瞭解這些步驟。

步驟1:建立一個Ember專案

建立Ember Handlebars模板的第一步是設定一個Ember.js專案。這可以透過遵循以下步驟來完成:

  • 安裝Ember

npm install -g ember-cli
  • 建立一個新的應用程式

ember new ember-quickstart --lang en
  • 執行伺服器

cd ember-quickstart
ember serve

步驟2:建立一個新的Handlebars模板

建立Ember專案後,現在是時候建立一個新的Handlebars模板了。

請注意,Handlebars模板具有.hbs副檔名,通常儲存在Ember.js專案的app/templates目錄中。

現在轉到app/templates並建立一個新的Handlebars模板檔案,只需建立一個具有.hbs副檔名的檔案即可。假設我們建立一個名為my-template.hbs的檔案。

步驟3:定義模板

下一步是定義Handlebars模板並向其中新增一些內容。如前所述,Handlebars模板使用簡單的語法來定義動態內容。下面是一個基本的Handlebars模板示例:

<div class="my-new-template">
   <h1>{{firstname}}</h1>
   <p>{{lastname}}</p>
</div>

在上面的程式碼中,Handlebars模板使用一個具有“my-new-template”類的div元素定義。在這裡,在div中,我們使用Handlebars語法定義了兩個動態元素。第一個是帶有文字{{firstname}}的h1元素,第二個是帶有文字{{lastname}}的p元素。

如果您不使用構建工具,則可以簡單地在HTML中使用script標籤定義應用程式的模板,如下所示:

<html>
<body>
   <script type="text/x-handlebars">
      <strong>{{firstname}}, {{lastname}}</strong>!
   </script>
</body>
</html>

步驟4:使用已定義的模板

定義Handlebars模板後,您可以在Ember.js應用程式中使用它。為此,您需要建立一個路由和一個相應的控制器來呈現模板。

以下是如何建立使用my-new-template Handlebars模板的路由和控制器的示例:

// app/routes/my-route.js
import Route from '@ember/routing/route';
export default class MyRoute extends Route {
   model() {
      return {
         firstname: ‘Hello’,
         lastname: ‘World’
      };
   }
}
// app/controllers/my-controller.js
import Controller from '@ember/controller';
export default class MyController extends Controller {
}

在這個例子中,MyRoute類定義了一個model方法,該方法返回一個具有title和body屬性的物件。MyController類是空的,但它會自動呈現my-new-template Handlebars模板,因為它的名稱與路由的名稱匹配。

步驟5:呈現模板

最後一步是在應用程式中呈現模板。為此,您需要嚮應用程式的主模板檔案新增一個模板出口。以下是如何執行此操作的示例:

<!-- app/templates/application.hbs -->
<div class="container">
   {{outlet}}
</div>

在這個例子中,主應用程式模板檔案定義了一個具有“container”類的div元素。在div內部,有一個模板出口,當MyRoute處於活動狀態時,它將呈現my-new-template Handlebars模板。

輸出

Hello, World!

結論

Handlebars模板是Ember.js的一個重要元件,它使開發者能夠以最少的程式碼和精力開發動態且適應性強的UI。它結合使用HTML和Handlebars表示式來建立可以響應資料更改的模板。在本文中,我們學習了建立Ember Handlebars模板的步驟。首先,我們設定了一個Ember專案,然後生成了一個新的Handlebars模板,定義了模板,使用了已定義的模板,最後在我們的應用程式中呈現了模板。使用Ember Handlebars模板,我們可以輕鬆地為他們的Web應用程式構建複雜和動態的UI。

更新於:2023年5月2日

瀏覽量:168

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.