搜尋
首頁web前端js教程JsRender實用入門教學_javascript技巧

本文是一篇JsRender的實用入門教程,實例講述了tag else使用、循環嵌套存取父級資料等知識點。分享給大家供大家參考。具體如下:

前言

JsRender是一款基於jQuery的JavaScript模版引擎,它具有以下特點:

  ·  簡單直覺

  ·  功能強大

  ·  可擴充的

  ·  快如閃電

這些特性看起來很厲害,但幾乎每個模版引擎,都會這麼宣傳。 。 。

由於工作需要,小菜才接觸到此款模版引擎。使用了一段時間,發現它確實比較強大,但小菜覺得有些地方強大的過頭了,反倒讓人覺得很難理解。

另一方面,JsRender的官方文件比較詳細,但其他資料出奇的少,遇到點什麼問題,基本搜不到,不僅僅是相關問題搜不到,幾乎就是沒有結果。

再加上JsRender有些地方確實是不好理解,所以急需小菜分享一些「最佳實踐」。

基於最近一段時間的使用,小菜總結了一些實用經驗,當然,這些經驗在官方文件上是找不到的。

巢狀循環使用#parent存取父級資料(不建議)

複製程式碼 程式碼如下:


 
   
    洗衣循環使用#parent存取父級資料 --- by 楊元
   
    樣式>
   
  頭>
 
   
   

     
       
         
            序號第>
            姓名
            家庭成員
         
        頭>
       
         
       
      表>
   

   
   
   
   
   
   

巢狀循環使用參數存取父級資料(建議)

複製程式碼 程式碼如下:



 
   
    嵌套循環使用參數存取父級資料 --- by 楊元
   
   
 
 
   
   

     
       
         
           
           
           
         
       
       
         
       
     
序號 姓名 家庭成員

   

   
   
   
   
   
   
   
    <script><br />       //資料來源<br />       var dataSrouce = [{<br />         name: "張三",<br />         family: [<br />           "爸爸",<br />           "媽媽",<br />           "哥哥"<br />         ]<br />       },{<br />         name: "李四",<br />         family: [<br />           "爺爺",<br />           "奶奶",<br />           "叔叔"<br />         ]<br />       }];<br />       <br />       //渲染資料<br />       var html = $("#testTmpl").render(dataSrouce);<br />       $("#list").append(html);<br />       <br />     </script>
   
 

自訂標籤(custom tag)中使用else(強烈不建議)

複製程式碼 程式碼如下:



 
   
    自定义标签中使用else --- by 杨元
   
   
 
 
   
   

     
       
         
           
           
         
       
       
         
       
     
名称 单价

   

   
   
   
   
   
   
   
    <script><br />       //資料來源<br />       var dataSrouce = [{<br />         name: "蘋果",<br />         price: 108<br />       },{<br />         name: "鴨梨子",<br />         price: 370<br />       },{<br />         name: "桃子",<br />         price: 99<br />       },{<br />         name: "鳳梨",<br />         price: 371<br />       },{<br />         name: "橘子",<br />         price: 153<br />       }];<br />       <br />       //自訂標籤<br />       $.views.tags({<br />         "isShow": function(price){<br />           var temp=price ''.split('');<br />           <br />           if(this.tagCtx.props.status === 0){<br />             //判斷價格是否為水仙花數,若是,則顯示,否則不顯示<br /> if(price==(Math.pow(parseInt(temp[0],10),3) Math.pow(parseInt(temp[1],10),3) Math.pow(parseInt(temp[2],10 ),3))){<br />               return this.tagCtxs[0].render();<br />             }else{<br />               return this.tagCtxs[1].render();<br />             }<br />           }else{<br />             return "";<br />           }<br />           <br />         }<br />       });<br />       <p>      //渲染資料<br />       var html = $("#testTmpl").render(dataSrouce);<br />       $("#list").append(html);<br />       <br />     </script>
   
 

用helper取代自訂標籤(建議)

複製程式碼 程式碼如下:



 
   
    用helper代替自定义标签 --- by 杨元
   
   
 
 
   
   

     
       
         
           
           
         
       
       
         
       
     
名称 单价

   

   
   
   
   
   
   
   
    <script><br />       //資料來源<br />       var dataSrouce = [{<br />         name: "蘋果",<br />         price: 108<br />       },{<br />         name: "鴨梨子",<br />         price: 370<br />       },{<br />         name: "桃子",<br />         price: 99<br />       },{<br />         name: "鳳梨",<br />         price: 371<br />       },{<br />         name: "橘子",<br />         price: 153<br />       }];<br />       <br />       //Helper<br />       $.views.helpers({<br />         "isShow": function(price){<br />           var temp=price ''.split('');<br /> if(price==(Math.pow(parseInt(temp[0],10),3) Math.pow(parseInt(temp[1],10),3) Math.pow(parseInt(temp[2],10 ),3))){<br />             return true;<br />           }else{<br />             return false;<br />           }<br />         }<br />       }); <p>      //渲染資料<br />       var html = $("#testTmpl").render(dataSrouce);<br />       $("#list").append(html);<br />       <br />     </script>
   
 

完整實例程式碼點擊此處本站下載

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

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PyCharm新手指南:学会在PyCharm中删除项目PyCharm新手指南:学会在PyCharm中删除项目Feb 23, 2024 pm 09:39 PM

PyCharm新手指南:删除项目的实用技巧PyCharm是一款功能强大的Python集成开发环境(IDE),在进行项目开发时,有时候需要删除项目或项目中的文件。本文将介绍在PyCharm中删除项目的实用技巧,并提供具体的代码示例帮助新手更好地理解和应用。1.删除项目删除项目意味着删除整个项目文件夹,这在我们需要清理或重建项目时非常有用。在PyCharm中删

全角英文字母转换为半角形式的实用技巧全角英文字母转换为半角形式的实用技巧Mar 26, 2024 am 09:54 AM

全角英文字母转换为半角形式的实用技巧在现代生活中,我们经常会接触到英文字母,在使用电脑、手机等设备时也经常需要输入英文字母。然而,有时候我们会遇到全角英文字母的情况,而我们需要使用的是半角形式。那么,如何将全角英文字母转换为半角形式呢?下面就为大家介绍一些实用的技巧。首先,全角英文字母和数字是指在输入法中占据一个全角位置的字符,而半角英文字母和数字则是占据一

VUE3入门实例:制作一个简单的图片裁剪器VUE3入门实例:制作一个简单的图片裁剪器Jun 15, 2023 pm 08:45 PM

Vue.js是一款流行的JavaScript前端框架,目前已经推出了最新的版本——Vue3,新版Vue在性能、体积以及开发体验上均有所提升,受到越来越多的开发者欢迎。本文将介绍如何使用Vue3制作一个简单的图片裁剪器。首先,我们需要创建一个Vue项目并安装所需的插件。可以使用VueCLI来创建项目,也可以手动搭建。这里我们以使用VueCLI的方式为例:#

从入门到精通:掌握go-zero框架从入门到精通:掌握go-zero框架Jun 23, 2023 am 11:37 AM

Go-zero是一款优秀的Go语言框架,它提供了一整套解决方案,包括RPC、缓存、定时任务等功能。事实上,使用go-zero建立一个高性能的服务非常简单,甚至可以在数小时内从入门到精通。本文旨在介绍使用go-zero框架构建高性能服务的过程,并帮助读者快速掌握该框架的核心概念。一、安装和配置在开始使用go-zero之前,我们需要安装它并配置一些必要的环境。1

从零开始学习Django框架:实用教程和示例从零开始学习Django框架:实用教程和示例Sep 28, 2023 am 08:42 AM

从零开始学习Django框架:实用教程和示例Django是一种流行的PythonWeb应用程序框架,它简化了网站的开发过程。它提供了一套强大的工具和库,帮助开发者构建高效、可扩展和安全的Web应用程序。对于初学者来说,学习Django可能会有些困难,但是通过一些实用的教程和示例,你可以快速上手并了解这个框架的核心概念和用法。本文将带你逐步学习Django框

快速入门:使用Go语言函数实现简单的数据可视化功能快速入门:使用Go语言函数实现简单的数据可视化功能Aug 02, 2023 pm 04:25 PM

快速入门:使用Go语言函数实现简单的数据可视化功能随着数据的快速增长和复杂性的提高,数据可视化成为了数据分析和数据表达的重要手段。在数据可视化中,我们需要使用合适的工具和技术来将数据转化为易读且易理解的图表或图形。Go语言作为一种高效且易于使用的编程语言,在数据科学领域也有着广泛的应用。本文将介绍如何使用Go语言函数来实现简单的数据可视化功能。我们将使用Go

如何快速入门Beego开发框架?如何快速入门Beego开发框架?Jun 22, 2023 am 09:15 AM

Beego是一个基于Go语言的开发框架,它提供了一套完整的Web开发工具链,包括路由、模板引擎、ORM等。如果你想快速入门Beego开发框架,以下是一些简单易懂的步骤和建议。第一步:安装Beego和Bee工具安装Beego和Bee工具是开始学习Beego的第一步。你可以在Beego官网上找到详细的安装步骤,也可以使用以下命令来安装:gogetgithub

【Linux工具】-yum/gdb使用教程!【Linux工具】-yum/gdb使用教程!Mar 07, 2024 am 11:10 AM

yum是一种常用的软件包管理工具,而gdb是一种强大的调试工具。下面是它们的使用教程:yum使用教程:安装软件包:使用yuminstall命令安装软件包。例如,要安装ApacheWeb服务器,可以运行yuminstallhttpd。升级软件包:使用yumupdate命令升级已安装的软件包。例如,运行yumupdate将升级系统中的所有软件包。删除软件包:使用yumremove命令删除软件包。例如,要删除ApacheWeb服务器,可以运行yumremovehttpd。搜索软件包:使用yumsear

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

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

SublimeText3 Mac版

SublimeText3 Mac版

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