如何将handlebars的if结构改写为vuejs的形式

发布于 2022-09-03 11:26:41 字数 840 浏览 16 评论 0

<div v-for="d in res">
    {{ifEQ order_status_id '1'}}
    <div data-page-url="{{urlBase}}pay/order?id={{d.order_id}}">
    {{else}}
    <div data-page-url="{{urlBase}}user/order/{{d.order_id}}">
    {{/ifEQ}}
    //
    // 一大段代码
    //
    </div>
</div>

如果单纯的用v-if结构写的话就必须写成:

<div v-for="d in res">
    <div v-if="d.order_status_id===1" data-page-url="{{urlBase}}pay/order?id={{d.order_id}}">
    //
    //一大段代码
    //
    </div>
    <div v-else data-page-url="{{urlBase}}user/order/{{d.order_id}}">
    //
    // 一大段代码
    //
    </div>
</div>

这样下面那一大段代码量很大的话就太累赘了,而且如果我在一大段代码中再有v-if的判断方法就会出现问题。
有没有更好的方法,比如监听order_status_id的值来对应返回不同的data-page-url,我尝试用watch,但是貌似循环中的值听不到的样子,求指点!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

筱武穆 2022-09-10 11:26:41

vue循环列表数据如果根据值显示不同的信息采用template

<div v-for="d in res">
     <template v-if="order_status_id  == 1"> 
       <div data-page-url="{{urlBase}}pay/order?id={{d.order_id}}"> </div>
     </template>
     <template v-if="order_status_id  == 2"> 
       <div data-page-url="{{urlBase}}pay/order?id={{d.order_id}}"> </div>
     </template>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文