Thymeleaf页面使用vuejs渲染数据

Thymeleaf页面使用vuejs渲染数据

model已经有数据了

item.html

1)使用js模板获取数据,赋值给js变量

const user = /*[[${user}]]*/ {};

2)把第一步的js变量声明到vuejs中

在vue的data中声明即可

data:{
user
}

3)在vuejs中使用js变量

展示特有规格参数

取出当前商品的特殊规格参数 及 该分类下的所有特殊规格参数值,并放入Vue的data中

<script th:inline="javascript">
    //取出SpuDetail对象
    const detail = /*[[${detail}]]*/ {};

    //取出特有规格参数列表
    let specialSpec = JSON.parse(detail.specialSpec);

    //设计用于存储特有规格参数数据对象,格式:{4:"机身颜色",12:"内存"....}
    let params = {};
    //取出specs规格组和规格参数
    const specs = /*[[${specs}]]*/ [];
    specs.forEach(group=>{
        group.params.forEach(param=>{
             //只取出特有参数
            if(!param.generic){
                params[param.id] = param.name;
            }
        });
    });

</script>

<script>
    var itemVm = new Vue({
        el:"#itemApp",
        data:{
            specialSpec,
            params,
        },
        components:{
            lyTop: () => import('/js/pages/top.js')
    }
    });
</script>

调试查看结果如下:

 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y2H0NJ5E-1615726305118)(assets/1606530722039.png)]

然后,找到页面对应位置渲染数据(大约188行)

<div class="clearfix choose">
                        <div id="specification" class="summary-wrap clearfix">
                            <dl v-for="(value,key,index) in specialSpecJson" :key="index">
                                <dt>
                                    <div class="fl title">
                                        <i>{{paramsMap[key]}}</i>
                                    </div>
                                </dt>
                                <dd v-for="(v,i) in value" :key="i">
                                    <a href="javascript:;" class="selected">
                                        {{v}}<span title="点击取消选择">&nbsp;</span>
                                    </a>
                                </dd>
                            </dl>
                        </div>

结果如下:

 

Memorial Day is 530 days
I miss you
xiaokeai

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Thymeleaf页面渲染完成后,可以通过以下几种方式进行处理和展示。 1. 直接在浏览器中查看:将渲染完成的Thymeleaf页面部署到Web服务器上,然后在浏览器中输入对应的URL地址即可查看页面的效果。 2. 打印输出:可以将渲染完成的Thymeleaf页面通过打印功能输出到打印机或保存为PDF文件等形式。 3. 导出为静态HTML文件:可以将渲染完成的Thymeleaf页面导出为静态HTML文件,以便在其他地方使用或分享。 4. 嵌入到其他页面中:可以将渲染完成的Thymeleaf页面嵌入到其他页面中,例如将其作为一个模块插入到整体页面中的某个位置。 需要注意的是,Thymeleaf是一种服务器端模板引擎,它在服务器端进行页面渲染,生成最终的HTML页面。因此,渲染完成后的Thymeleaf页面需要通过服务器或其他方式进行展示。 #### 引用[.reference_title] - *1* [JavaThymeleaf渲染](https://blog.csdn.net/m0_59463643/article/details/127931890)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [thymeleaf模板手动渲染和表达式](https://blog.csdn.net/m0_46635265/article/details/122501676)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值