首頁 web前端 js教程 JsRender for object語法簡介_javascript技巧

JsRender for object語法簡介_javascript技巧

May 16, 2016 pm 04:32 PM
for object 文法

本文簡要講述了JsRender for object的基本語法。分享給大家供大家參考。具體如下:
 
JsRender 作為一款JavaScript模版引擎,不可或缺的會有循環功能,也就是for,但由於JsRender過於靈活,for竟然可以接受object作為循環物件。

{{for Array}}和{{for Object}}都是允許的,{{for Array}}大家都能理解,就是遍歷一個數組,逐一取出每個元素。但{{for Object}}就有點讓人匪夷所思了,而且官方文件只是舉了個沒什麼幫助的例子,其他沒有任何說明。

剛開始小菜以為{{for Object}}的用意是遍歷該Object的所有屬性,但仔細一想,這個功能{{props Object}}已經實現了,props標籤的作用就是遍歷Object所有屬性,有多少個屬性,就循環多少次,每次循環都會有兩個隱藏的屬性:key,prop,key代表屬性名,prop代表屬性值,用起來非常方便。

實際上,{{for Object}}並不是循環,它可以理解成進入(Into),也就是說進入到Object環境中,把當前的上下文設為Object,類似於Handlebars.js中的with 。

舉例:

data:

複製程式碼 程式碼如下:
  {
    "title": "The A team",
    "members": [
      {
        "name": "Pete",
        "city": "members_city",
        "address": {
          "city": "address_city",
          "city1": "address_city1",
         "city2": "address_city2"
       }
     }
   ]
 }

template markup:

複製程式碼 程式碼如下:
{{for members}}
   {{for address}}
    

.{{:city}}


   {{/for}}
 {{/for}}

result:

複製程式碼 程式碼如下:
address_city

 

從結果可以看出,雖然members的item下方也有city屬性,但由於透過{{for address}}進入了address指向的Object中,{{:city}}直接從address中取得了。

同時,address有三個屬性,但結果只輸出了一行,證明{{for Object}}是不會循環的,只是切換一下this。

希望本文所述對大家JsRender程式設計的學習有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
解決kernel_security_check_failure藍色畫面的17種方法 解決kernel_security_check_failure藍色畫面的17種方法 Feb 12, 2024 pm 08:51 PM

Kernelsecuritycheckfailure(內核檢查失敗)就是一個比較常見的停止代碼類型,可藍屏錯誤出現不管是什麼原因都讓很多的有用戶們十分的苦惱,下面就讓本站來為用戶們來仔細的介紹一下17種解決方法吧。 kernel_security_check_failure藍色畫面的17種解決方法方法1:移除全部外部裝置當您使用的任何外部裝置與您的Windows版本不相容時,則可能會發生Kernelsecuritycheckfailure藍色畫面錯誤。為此,您需要在嘗試重新啟動電腦之前拔下全部外部裝置。

如何快速地把你的 Python 程式碼變成 API 如何快速地把你的 Python 程式碼變成 API Apr 14, 2023 pm 06:28 PM

提到API開發,你可能會想到DjangoRESTFramework,Flask,FastAPI,沒錯,它們完全可以用來寫API,不過,今天分享的這個框架可以讓你更快把現有的函數轉化為API,它就是Sanic 。 Sanic簡介Sanic[1],是Python3.7+Web伺服器和Web框架,旨在提高效能。它允許使用Python3.5中添加的async/await語法,這可以有效避免阻塞從而達到提升響應速度的目的。 Sanic致力於提供一種簡單且快速,集創建和啟動於一體的方法

Win10如何解除安裝Skype for Business?電腦上的skype怎麼徹底卸載方法 Win10如何解除安裝Skype for Business?電腦上的skype怎麼徹底卸載方法 Feb 13, 2024 pm 12:30 PM

Win10skype可以卸載嗎是許多用戶都想知道的問題,因為很多的用戶發現自己電腦上的預設程式上有這個應用,擔心刪除後會影響到系統的運行,下面就讓本站來為用戶們來仔細的介紹一下Win10如何卸載SkypeforBusiness吧。 Win10如何解除安裝SkypeforBusiness1、在電腦桌面點選Windows圖標,再點選設定圖示進入。 2、點選“應用”。 3、在搜尋框中輸入“Skype”,點選選取找到的結果。 4、點選「卸載」。 5

lambda 表達式的語法和結構有什麼特色? lambda 表達式的語法和結構有什麼特色? Apr 25, 2024 pm 01:12 PM

Lambda表達式是無名稱的匿名函數,其語法為:(parameter_list)->expression。它們具有匿名性、多樣性、柯里化和閉包等特徵。在實際應用中,Lambda表達式可用於簡潔地定義函數,如求和函數sum_lambda=lambdax,y:x+y,並透過map()函數應用於列表來進行求和操作。

JavaScript怎麼用for求n的階乘 JavaScript怎麼用for求n的階乘 Dec 08, 2021 pm 06:04 PM

用for求n階乘的方法:1.使用「for (var i=1;i<=n;i++){}」語句控制迴圈遍歷範圍為「1~n」;2、迴圈體中,使用「cj *=i」將1到n的數相乘,乘積賦值給變數cj;3、循環結束後,變數cj的值就n的階乘,輸出即可。

PHP8.0中新的型別別名語法 PHP8.0中新的型別別名語法 May 14, 2023 pm 02:21 PM

隨著PHP8.0的發布,新增了一種類型別名語法,使得使用自訂的類型變得更加容易。在本文中,我們將深入了解這種新的語法,以及它對開發人員的影響。什麼是類型別名?在PHP中,類型別名本質上是一個變量,它引用另一個類型的名稱。這個變數可以像其他類型一樣使用,並在程式碼中的任何地方聲明。這種語法的主要作用是為常用的類型定義自訂別名,使得程式碼更易於閱讀和理解。

PHP8.0中的父類別呼叫語法 PHP8.0中的父類別呼叫語法 May 14, 2023 pm 01:00 PM

PHP是一種廣泛應用於Web開發的伺服器端腳本語言,而PHP8.0版本中引進了一種新的父類呼叫語法,讓物件導向程式設計更加方便簡潔。在PHP中,我們可以透過繼承的方式來建立一個父類別和一個或多個子類別。子類別可以繼承父類別的屬性和方法,並且可以透過重寫父類別的方法來修改或擴展其功能。在普通的PHP繼承中,如果我們想在子類別中呼叫父類別的方法,需要使用parent關鍵字來引用父

foreach和for迴圈的差別是什麼 foreach和for迴圈的差別是什麼 Jan 05, 2023 pm 04:26 PM

區別:1、for透過索引來循環遍歷每一個資料元素,而forEach透過JS底層程式來循環遍歷數組的資料元素;2、for可以透過break關鍵字來終止迴圈的執行,而forEach不可以;3、 for可以透過控制迴圈變數的數值來控制迴圈的執行,而forEach不行;4、for在迴圈外可以呼叫迴圈變量,而forEach在迴圈外不能呼叫迴圈變數;5、for的執行效率要高於forEach。

See all articles