开发者问题收集

我的 Vuejs javascript 文件中存在无效或意外的令牌

2016-11-23
12682

在我的 vue 组件 js 代码中,我收到了此错误:

Uncaught SyntaxError: Invalid or unexpected token

这是我的代码:

Vue.component('pickpoint-info', {

    template : '<table>\ // in this line I get the error
                    <tbody>\
                        <tr v-for="item in items" v-on:click="selectPickPoint(this)">\
                            <td width="50" align="center"><input name="pickpointid" type="radio" value="{{ item.customer_id }}"></td>\
                            <td width="300">\
                                <b>{{ item.name }}</b> <i style="font-size:9px;">#{{ item.customer_id }}</i>\
                                <br>\
                                {{ item.address }}\ 
                                <br>\ 
                                {{ item.postal_code }}\
                                <a href="{{ item.map_link }}" target="_blank" style="font-size:10px;">(ver en el mapa</a>)\
                            </td>\
                        </tr>\
                    </tbody>\
                </table>\
    ',

此代码有什么问题?

3个回答

您必须写反引号 `,而不是简单的引号 '

jsmean
2017-06-15

尽量避免使用字符串作为模板,而是使用 HTML 5 模板标记并引用它:

<template id="my-template">
  <table> in this line I get the error
    <tbody>
      <tr v-for="item in items" v-on:click="selectPickPoint(this)">
        <td width="50" align="center">
          <input name="pickpointid" type="radio" value="{{ item.customer_id }}">
        </td>
        <td width="300">
          <b>{{ item.name }}</b> <i style="font-size:9px;">#{{ item.customer_id }}</i>
          <br> {{ item.address }}
          <br> {{ item.postal_code }}
          <a href="{{ item.map_link }}" target="_blank" style="font-size:10px;">(ver en el mapa</a>)
        </td>
      </tr>
    </tbody>
  </table>
</template>

然后,您可以通过 id 引用它:

Vue.component('pickpoint-info', {
  template: "#my-template"
});

如果要使用字符串,请检查行尾,确保反斜杠后没有空格,我认为错误出在这两行:

{{ item.address }}\ 
  <br>\ 

两者末尾都有 whitespace ,需要将其删除。

craig_h
2016-11-23

关于反引号的书写,您可以查看此链接 不同键盘上的示例

就我而言(使用 qwertz 键盘),它是“Alt Gr”+“7”(也许您需要按两次)。

Imix
2020-03-15