laytpl语法_laytpl--前端数据绑定

为了不用angularJS等较为重量级的,和繁琐的配置,所以就用了laytpl,可以配合JQ使用

laytpl.js源码如下:

/**

@Name:laytpl-v1.1 精妙的js模板引擎

@Author:贤心 - 2014-08-16

@Site:http://sentsin.com/layui/laytpl

@License:MIT license*/;!function(){"use strict";var f,b={open:"{{",close:"}}"},c={exp:function(a){return new RegExp(a,"g")},query:function(a,c,e){var f=["#([\\s\\S])+?","([^{#}])*?"][a||0];return d((c||"")+b.open+f+b.close+(e||""))},escape:function(a){return String(a||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(a,b){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+a+"\n"+(b||"")),c+a}},d=c.exp,e=function(a){this.tpl=a};e.pt=e.prototype,e.pt.parse=function(a,e){var f=this,g=a,h=d("^"+b.open+"#",""),i=d(b.close+"$","");a=a.replace(/[\r\t\n]/g," ").replace(d(b.open+"#"),b.open+"# ").replace(d(b.close+"}"),"} "+b.close).replace(/\\/g,"\\\\").replace(/(?="|')/g,"\\").replace(c.query(),function(a){return a=a.replace(h,"").replace(i,""),'";'+a.replace(/\\/g,"")+'; view+="'}).replace(c.query(1),function(a){var c='"+(';return a.replace(/\s/g,"")===b.open+b.close?"":(a=a.replace(d(b.open+"|"+b.close),""),/^=/.test(a)&&(a=a.replace(/^=/,""),c='"+_escape_('),c+a.replace(/\\/g,"")+')+"')}),a='"use strict";var view = "'+a+'";return view;';try{return f.cache=a=new Function("d, _escape_",a),a(e,c.escape)}catch(j){return delete f.cache,c.error(j,g)}},e.pt.render=function(a,b){var e,d=this;return a?(e=d.cache?d.cache(a,c.escape):d.parse(d.tpl,a),b?(b(e),void 0):e):c.error("no data")},f=function(a){return"string"!=typeof a?c.error("Template not found"):new e(a)},f.config=function(a){a=a||{};for(var c in a)b[c]=a[c]},f.v="1.1","function"==typeof define?define(function(){return f}):"undefined"!=typeof exports?module.exports=f:window.laytpl=f}();

1.引用该js

2.建立的模板

3.用laytpl.js吧得到的数据加入到模板

4.把模板渲染到你要的html的demo

1

2

3

4

5

6

7

8

9 //假设你得到了这么一段数据

10 vardata={11 title:'前端圈',12 intro:'一群码js的骚年,幻想改变世界,却被世界改变。',13 list: [{ name:'贤心', city:'杭州'}, { name:'谢亮', city:'北京'}, { name:'浅浅', city:'杭州'}, { name:'Dem', city:'北京'}]14 };15

16 window.οnlοad= function() {17 //建立视图。用于呈现渲染结果。

18 vargettpl=document.getElementById('testTpl').innerHTML;19 laytpl(gettpl).render(data,function(html) {20 //得到的模板渲染到html

21 document.getElementById('testDiv').innerHTML=html;22 });23 }24

25

26

27

28

{{ d.title }}

29

{{d.intro}}

30

31 {{#for(vari= 0; i

33 姓名:{{ d.list[i].name }}

34 城市:{{ d.list[i].city }}

35

36 {{# } }}37

38

39

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Vue.js中,v-model指令可以用于在表单元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。这样,当用户在表单元素中输入内容时,数据会自动更新,同时当数据发生变化时,视图也会相应地更新。\[3\]v-model本质上是语法糖,它负责监听用户的输入事件以更新数据,并对一些特殊场景进行处理。需要注意的是,v-model会忽略表单元素的value、checked、selected特性的初始值,而总是将Vue实例的数据作为数据来源。因此,在组件的data选项中需要声明初始值。\[3\] 在实际应用中,可以通过在表单元素上使用v-model指令来实现双向数据绑定。例如,在一个文本输入框中,可以使用v-model来绑定一个数据属性,当用户在输入框中输入内容时,数据属性会自动更新,同时当数据属性发生变化时,输入框中的内容也会相应地更新。\[1\]例如,在Vue.js中的代码示例中,通过v-model指令将输入框与message属性进行了双向绑定,当用户在输入框中输入内容时,message属性会自动更新,同时当message属性发生变化时,输入框中的内容也会相应地更新。\[1\] #### 引用[.reference_title] - *1* *2* *3* [[Vue]3.双向绑定](https://blog.csdn.net/weixin_46285081/article/details/121340612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值