摘要:可以包括,或者其他的賦值語句或者邏輯代碼這里有一個(gè)已知的需要注意的點(diǎn)不要在模板中使用單引號(hào),如果必須要使用,請(qǐng)使用轉(zhuǎn)義字符用法創(chuàng)建一個(gè)模板對(duì)象將模板字符串編譯成函數(shù)編譯之后的模板使用不同的變量進(jìn)行渲染,渲染的時(shí)候需要使用接收輸出示例
tplite
一個(gè)基于輕量級(jí)模板庫實(shí)現(xiàn)的前端組建庫
可以像react一樣在前端使用組件的方式構(gòu)建應(yīng)用
基于一個(gè)只有415字節(jié)的模板庫實(shí)現(xiàn)(基于字符串模式)
只暴露幾個(gè)簡(jiǎn)單的接口render, mount, setState, trigger.
在渲染的時(shí)候,使用閉包將需要的事件或者方法綁定到對(duì)應(yīng)的DOM元素上面
項(xiàng)目地址 https://github.com/lloydzhou/...
完整的todo mvc示例 https://lloydzhou.github.io/t...
{{title}}
{{ encodeURIComponent(title)}} {% if (messages && messages.length > 0) { %} {% messages.forEach(function(message, index){ %}{{sub(messageTmpl, messageMethods, {message: message, index: index})}}
{% })%} {% } %}
使用模板,初始化的initState以及需要綁定或者操作的方法以及root節(jié)點(diǎn)初始化組件:
var root = document.getElementById("root") , tmpl = document.getElementById("tpl").innerHTML , initState = {title: "Demo for mocro javascript template!", messages: ["test demo 1", "test demo2"]}; var app = new tplite.Component(root, tmpl, initState, { view: function(message){ alert(message) }, add: function(message){ var messages = this.state.messages; messages.push("test demo" + (messages.length + 1)) this.setState({ messages, messages }) }, remove: function(index){ var messages = this.state.messages; messages.splice(index, 1) this.setState({ messages, messages }) }, onUpdate: function(){ // will trigger when component render console.log("update", this.state) } })完整的例子
please see result in "component.html"
模板語法簡(jiǎn)單來說,這個(gè)模板只提供兩種語法:
{{ value }} 將中間的value當(dāng)成字符串輸出
{% statement %} 將中間的當(dāng)成js語句執(zhí)行。(可以包括,if/for或者其他的賦值語句或者邏輯代碼)
Issue這里有一個(gè)已知的需要注意的點(diǎn):
不要在模板中使用單引號(hào),如果必須要使用,請(qǐng)使用轉(zhuǎn)義字符
創(chuàng)建一個(gè)模板對(duì)象
var template = new tplite.Template()
將模板字符串編譯成函數(shù)
var compile = template("{{title}}
")
編譯之后的模板使用不同的變量進(jìn)行渲染,渲染的時(shí)候需要使用callback接收輸出
var stringbuffer = new tplite.StringBuffer() compile({title: "Title !!!"}, stringbuffer) console.log(stringbuffer.toString()) // render template and write to document compile({title: "Title !!!"}, function(s){document.write(s);})示例
please see result in "index.html"
LICENSECopyright 2014-2017 @Lloyd Zhou
Released under the MIT and GPL (version 2 or later) Licenses.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/91837.html
摘要:所有的高階抽象組件是通過定義選項(xiàng)來聲明的。所以一般在生命周期或者中,需要用實(shí)例的方法清除可當(dāng)你有多個(gè)時(shí),就需要重復(fù)性勞動(dòng)銷毀這件事兒。更多的配置請(qǐng)看雙端開啟開啟壓縮的好處是什么可以減小文件體積,傳輸速度更快。本文目錄 接口模塊處理 Vue組件動(dòng)態(tài)注冊(cè) 頁面性能調(diào)試:Hiper Vue高階組件封裝 性能優(yōu)化:eventBus封裝 webpack插件:真香 本文項(xiàng)目基于Vue-Cli3,想知...
摘要:介紹是一個(gè)高性能的和反向代理服務(wù)器,同時(shí)也提供了服務(wù)。其將源代碼以類許可證的形式發(fā)布,因它的穩(wěn)定性豐富的功能集簡(jiǎn)單的配置文件和低系統(tǒng)資源的消耗而聞名。是一款輕量級(jí)的服務(wù)器反向代理服務(wù)器及電子郵件代理服務(wù)器,在協(xié)議下發(fā)行。 Nginx介紹?Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也...
摘要:在高性能服務(wù)器上該配置將非常有用。小結(jié)前端高性能優(yōu)化一二總結(jié)了前端性能問題定位以及圖片優(yōu)化的幾種方式,將它們歸結(jié)起來,在讀者需要的時(shí)候,可以查看本文的內(nèi)容,相信按照本文的方法,可以輔助讀者進(jìn)行前端性能優(yōu)化。 一.上文回顧 上回我們主要從圖片的合并、壓縮等方面介紹前端性能優(yōu)化問題(詳見Java Web 前端高性能優(yōu)化(一)) 本次我們主要從圖像BASE64 編碼、GZIP壓縮、懶加載與預(yù)...
摘要:什么是其實(shí)就是一個(gè)輕量級(jí)的服務(wù)器,可以很好的處理反向代理和負(fù)載均衡可以很好的處理靜態(tài)資源所以很適合我們前端使用,也很簡(jiǎn)單。也是阿里系的常用做法適配與移動(dòng)通過判斷,做跳轉(zhuǎn)到的路徑和的路徑查看端口是否被占用 什么是nginx ? 其實(shí)就是一個(gè)輕量級(jí)的服務(wù)器,可以很好的處理反向代理和負(fù)載均衡;可以很好的處理靜態(tài)資源;所以很適合我們前端使用,也很簡(jiǎn)單。我們主要用來做接口轉(zhuǎn)發(fā)(以及一些其他事情)...
摘要:部分設(shè)置的指令將影響其它所有部分的設(shè)置部分的指令主要用于指定虛擬主機(jī)域名和端口的指令用于設(shè)置一系列的后端服務(wù)器,設(shè)置反向代理及后端服務(wù)器的負(fù)載均衡部分用于匹配網(wǎng)頁位置比如,根目錄等等。 nginx在工作中已經(jīng)有好幾個(gè)環(huán)境在使用了,每次都是重新去網(wǎng)上扒博客,各種編譯配置,今天自己也整理一份安裝文檔和nginx.conf配置選項(xiàng)的說明,留作以后參考。像負(fù)載均衡配置(包括健康檢查)、緩存(包...
閱讀 1259·2021-10-11 10:57
閱讀 2045·2021-09-02 15:15
閱讀 1607·2019-08-30 15:56
閱讀 1195·2019-08-30 15:55
閱讀 1157·2019-08-30 15:44
閱讀 977·2019-08-29 12:20
閱讀 1321·2019-08-29 11:12
閱讀 1066·2019-08-28 18:29