vue能不能在{{}}模板中声明一个变量,方便之后的使用

解决办法:

定义临时变量,但是需要给隐藏,否则会显示出来的

    <span v-show="false">
        {{message = chat.messages[chat.messages.length-1]}}
    </span>
    {{message.content}}

类似于Java的jsp的

<c:set var="salary" scope="session" value="${2000*2}"/>

现在的代码
.filteredValue[0]).sex}}

阅读 13.9k
5 个回答
{{(gameDetail = scope.row.gameList.find(item=>item.gameId === scope.column.filteredValue[0]), void 0)}}
{{gameDetail.name}}
{{gameDetail.age}}
{{gameDetail.sex}}

用computed先把gamelist预处理一下

效果图:
image.png

代码:

<div v-bind:msg="msg= '孤行者'">{{msg}}</div>
<div>{{msg}}</div>
<div v-bind:msg="msg= '居无常'">{{msg}}</div>
<div>{{msg}}</div>

这样也是可以的:

<div :key="msg= '孤行者'">{{msg}}</div>
<div>{{msg}}</div>
<div :key="msg= '居无常'">{{msg}}</div>
<div>{{msg}}</div>

写到computed里不好吗

比较有趣的问题,如果不嫌蹩脚的话,借用 v-for 处理1个循环 hold 变量就好。

<template v-for="x in scope.row.gameList.filter(item=>item.gameId === scope.column.filteredValue[0])">
    {{x.name}}
    {{x.age}}
    {{x.sex}}
</template>

也可以套在你原有的代码结构里面,变通下就好:

<template v-if="scope.row.gameList.some(item=>item.gameId === scope.column.filteredValue[0])">
    <span v-for="gameDetail in scope.row.gameList.filter(item=>item.gameId === scope.column.filteredValue[0])">
        {{gameDetail.name}}
        {{gameDetail.age}}
        {{gameDetail.sex}}
    </span>
</template>
<template v-else>--</template>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题