artTemplate模板引擎的使用方法

 

1)先引入artTemplate/template-native.js

2)准备一个script标签存放html,模板需要一个id,方便模板引擎,并且必须设置type类型

           所谓模板引擎的作用就是帮我们将数据和html拼接好,将拼接好的结果返回给我们

<script id="rightCateTpl" type="text/html">

    <a href="#" class="active">运动馆</a>

</script>

3.书写模板,进行ajax请求,需要用一个入口函数进行包装  第一个ajax获取到的是一级分类的数据,二级分类数据。

初始页面的设置

<script id="leftCateTpl" type="text/html">
	<% for(var i=0;i<data.length;i++){ %>
		<a href="javascript:;"data-id="<%=data[i].id %>" class="items getSecond"><%= data[i].categoryName %></a>
	<%}%>
</script>
$.ajax({
		type:'get',
		url:'/category/queryTopCategory',
		success:function(result){
			
			$('#leftCate').html(template('leftCateTpl',{data:result.rows}))

			if(result.rows.length > 0){

				var id = result.rows[0].id;
				$.ajax({
					type:'get',
					url:'/category/querySecondCategory',
					data:{
						id:id
					},
					success:function(result){
						$('#rightCate').html(template('rightCateTpl',{data:result.rows}))

						$('#leftCate').find('a:first-child').addClass('active');

					}
				})

			}

		}
	});

4.右侧内容区版模板生成,发送ajax请求,获取到的是二级分类的数据

点击一级分类获取到二级分类的数据:1)一级分类添加点击事件   2)在事件处理函数中获取到一级分类的ID    3)调用二级分类的接口获取到对应的数据

4)将数据展示到对应的位置中    5)如果接口没有数据要在页面中显示暂无数据。

<script id="rightCateTpl" type="text/html">
		<% for(var i=0;i<data.length;i++){ %>
			<a href="javascript:;" class="items">
				<img src="<%=data[i].brandLogo %>">
				<span><%=data[i].brandName %></span>
			</a>
		<% } %>

		<% if(!data.length){ %>
			<span>暂无数据</span>
		<% } %>
</script>

 

$('body').on('tap','.getSecond',function(){
		
		var id = $(this).attr('data-id');

		$(this).addClass('active').siblings().removeClass('active');

		$.ajax({
			type:'get',
			url:'/category/querySecondCategory',
			data:{
				id:id
			},
			success:function(result){
				$('#rightCate').html(template('rightCateTpl',{data:result.rows}))
			}
		})

	});

模板引擎小知识点:1)<%=result[i].categoryName      输出result第i个元素中的某个方法    2)ajax请求获得的数据result是json数据,result.rows获得的是以索引方式呈现的二维数组,

将数据和html做拼接:1)html模板ID    2)数据   3)告诉模板引擎html模板和数据怎样进行拼接

使用模板引擎拼接方式:template('leftCateTpl',{data:result.rows})

 在$(‘#leftCate’)html()中插入模板引擎拼接好的字符串,   $('#leftCate').html(template('leftCateTpl',{data:result.rows}))    

                  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Art-template是一款高性能、轻量级的模板引擎,适用于Node.js和浏览器环境。它以简洁明了的语法,支持模板继承、条件判断、循环遍历等常见功能,同时还提供了强大的过滤器和自定义标签功能。 Art-template使用逻辑如下: 1. 安装Art-template 可以通过npm安装Art-template,命令如下: ```npm install art-template --save``` 2. 引入Art-template 在Node.js中,可以使用require语句引入Art-template: ```const template = require('art-template');``` 在浏览器中,可以使用script标签引入Art-template: ```<script src="path/to/art-template.js"></script>``` 3. 编写模板 Art-template使用{{}}包裹变量、表达式或语句。例如,以下是一个简单的模板: ``` <!DOCTYPE html> <html> <head> <title>{{title}}</title> </head> <body> <h1>{{title}}</h1> <p>{{content}}</p> </body> </html> ``` 4. 渲染模板 使用template方法可以将模板渲染成字符串。例如: ``` const template = require('art-template'); const data = { title: 'Art-template', content: 'A lightweight and powerful template engine' }; const html = template('path/to/template', data); console.log(html); ``` 在上面的例子中,我们将data对象传递给了模板,使用{{}}包裹的变量会被替换成data对象中的对应值,最终输出渲染后的HTML字符串。 5. 高级用法 除了基本的变量替换,Art-template还支持模板继承、条件判断、循环遍历等高级用法。例如,以下是一个使用if语句和each语句的模板: ``` {{if isAdmin}} <p>Welcome, admin</p> {{else}} <p>Welcome, user</p> {{/if}} <ul> {{each list}} <li>{{$index}}. {{$value}}</li> {{/each}} </ul> ``` 以上就是Art-template使用逻辑,希望能对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值