VueJS v-bind无法使用kebab-case

Gij*_*rts 3 javascript vue.js vuejs2

我正在使用Vue.JS(与所有人一样)处理任务列表,我设法添加任务,显示任务甚至删除任务.之后我正在检查任务并给他们一个成功的课程.

所以我想,如果我有一个像class设置为false 的数据,并使用这行代码:

<div v-for="(task, index) in tasks" class="panel panel-default" :class="{panel-success: task.class}" :key="task">
Run Code Online (Sandbox Code Playgroud)

我可以使用click事件设置classto true并给出特定的类panel-success(来自bootstrap).

当我这样做时,我遇到了以下问题:

避免使用JavaScript关键字作为属性名称:表达式中的"class":class ="{panel-success:task.class}"

问题是,kebab案例的语法panel-success.当我更改名称时,to panelsuccess它正在工作.为什么烤肉串不起作用?

Arn*_*ane 10

值为:classJavascript对象,在Javascript对象中,kebab-case标识符无效,这就是您遇到该错误的原因.要使它工作,只需将kebab-case标识符包装在单引号周围:

:class="{'panel-success': task.class}"
Run Code Online (Sandbox Code Playgroud)