如何实现node渲染用artTemplate与前端也用artTemplate?
Closed this issue · 14 comments
现在出现的问题是,如果我后端使用了artTemplate 前端再想用artTemplate就会非常麻烦,因为<script>标签内的内容也会当做node信息去渲染。
因为啥?麻烦在哪里啊?
@hwoarangzk 如果在页面上直接使用在前端渲染上面,node解析也会解析的。
不太明白你的项目是什么样。我们现在也是前后端都用art-template,后端直出的时候node渲染一次,然后前端就是ajax获取数据后再渲染一次。前端渲染的时候跟node无关。
@hwoarangzk 你文件做分离了?不在页面上写前端模板,而是独立前端模板独立开来,这样是没问题的。
index.html
// node渲染部分
<ul>
{{each list as item}}
<li>{{item}}</li>
{{/eacg}}
</ul>
//前端模板部分
<script type="text/html">
{{if a}}
这是ajax渲染部分
{{/if}}
</script>
我的意思这样会出现问题,如果,前端模板单独存在js文件里(用他给的预编译系统不存在,或者说,这一块单独引入不渲染)
我们是前后端模板复用的,模板是单独的一个html文件,比如渲染相同的一个table,都是用同一个table的模板文件
@hwoarangzk 我的实现方法跟你差不多举个例子
我想实现的是第一个页面是同步加载,点击加载更多时进行异步加载
但是这样属于,后端渲染的,如果需求或者列表变了,改动最少。感觉不是最好的解决方式。
异步加载为啥变成后端渲染了?你是异步拉取渲染后的模板,再贴到html里?我们第一次打开页面的时候就是后端直出的,这里可能跟你说的同步加载不太一样
@hwoarangzk 可能是解决方式不一样,无所谓了。凑合用吧!
遇到了和po主一样的问题,也是希望在后端模板里放上前端静态模板,但是里面的变量被同时编译了。。。。这个问题比较麻烦呀
@tonyjiafan 如果是语法高亮的话,估计目前IDE都还不支持,所以我在node里把engine配成html,这样起在页面里的html、css和js原生的东西是可以高亮的
@1021683053 今天早上想了一个办法,在页面的script里,把页面端的rule,给改成,然后把script模板里的语法改成用包裹,这样问题就先解决了
哇 我今天也碰到这个问题了 好烦。。
非常不错啊,我都把它用在手机端了。