记一次template使用心得
参考链接:blog.csdn.net/zeng092210/…
最开始在网上看到的大量帖子都说,template.js支持简洁写法{{变量名}}这种,template-native.js支持原生语法<% %>这种。为了编程方便当然希望使用简洁写法,然后我就一路踩了不少坑:
- 首先是template.js的下载,搜索了超多帖子都说要去github.com/yanhaijing/… 下载,然后点进去之后找了很久都没有找到template.js这个文件,最后才发现它在v1这个文件夹下,最后一个就是。然后下载整个git文件夹,把这个文件拷贝到自己的项目中,再引入,开始写代码,不管怎么写数据就是渲染不成功。
- 上图中template.js挨着有个temp.html文件,它使用了原生语法,内容不是很整齐我太菜了没看懂,不过运行的结果是渲染成功了的。
- 然后我又几经波折,看到了上面的“template.js小白入门篇”,真的要感谢一下大兄弟,因为我看完这个之后就成功了,原来template.js只支持原生语法,而template-web.js可以支持原生语法和简洁语法,不过两种语法在使用时不能混淆。
下面开始说我的成功使用经历(我只尝试了下文提到的这种,至于上文说的其他内容我都没有试验过,所以也不知道它们对不对):
template-web.js下载地址:github.com/aui/art-tem… ,在lib文件夹下。同样拷贝到自己项目并引入,需要注意的一点就是数据绑定的方法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="js/template-web.js"></script>
<div id="app"></div>
<script id="main" type="text/html">
<h1>{{ author }}</h1>
<ul>
{{each list as value i}}
<li>{{ i+1 }} : {{ value }}</li>
{{/each }}
</script>
<script>
var data = {
author: '宫崎骏',
list:['千与千寻', '哈儿的移动城堡', '幽灵公主', '龙猫']
}
var html = template('main', data)
document.getElementById('app').innerHTML = html
</script>
</body>
</html>
在浏览器中打开该页面,输出结果如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="js/template-web.js"></script>
<script src="js/jquery.js"></script>
<div id="app"></div>
<script id="main" type="text/html">
<h1>{{ author }}</h1>
<ul>
{{each list as value i}}
<li>{{ i+1 }} : {{ value }}</li>
{{/each }}
</script>
<script>
$(function () {
var data = {
author: '宫崎骏',
list:['千与千寻', '哈儿的移动城堡', '幽灵公主', '龙猫']
}
var main = template('main', data)
// document.getElementById('app').innerHTML = main
$("#app").html(main)
})
</script>
</body>
</html>
文中有不恰当的地方欢迎大家指正!