jade...
我不用引擎模板,直接在项目里用html可以吗
我不用引擎模板,直接在项目里用html可以吗
2017-06-19
可以啊那样的话相当于做成了静态网站可以看看这里。不使用jade的话
会增加你标签和操作dom的时间,而使用模板可以自动帮你渲染补齐,例如这样的标签:
<ul class="list"> <li>0</li> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> ... <li>999<li> </ul>
你要是一个个写的话无非浪费电时间,而模板这样就可以做到:
ul.list - var i = 0; while i < 999 li= i++
还有如果你要在某个标签里要从数据库取出数据并渲染:
<ul class="user"> <li id="1"><span class="name">张三</span><span class="age">1岁</span></li> <li id="2"><span class="name">李四</span><span class="age">3岁</span></li> <li id="3"><span class="name">王五</span><span class="age">3岁</span></li> <li id="4"><span class="name">赵六</span><span class="age">3岁</span></li> <li id=".."><span class="name">...</span><span class="age">...</span></li> <li id=".."><span class="name">...</span><span class="age">...</span></li> <li id=".."><span class="name">...</span><span class="age">...</span></li> <li id=".."><span class="name">...</span><span class="age">...</span></li> <li id=".."><span class="name">...</span><span class="age">...</span></li> ... <li id="999"><span class="name">牛999</span><span class="age">...</span></li> </ul>
这么个貌似你可以用jq的 forEach一个个标签创建再插入dom,不过像下面这样岂不是更好?
user.jade
- var users = 从数据库获取的数据name字段和age字段 ul.user - each item in users li(id = item.id) span.name #{item.name} span.age #{item.age}
而且你可以把它编译成模板(node中):
app.js
var jade = require('jade'); var users = 从数据库获取的数据name字段和age字段 var html = jade.renderFile('user.jade',{users: users}); // 读取user.jade 文件渲染为HTML,第二个参数是将从数据库拿到的数据,或自定义的json数据
就这几行代码就能完成成百上千个数据渲染了,不用我们手动一个个复制粘贴该标签。总而言之就是提高了开发效率。
说了那么多感觉是废话,看到没人回答我只是来补个空位了。
举报