child.find(e=>chooseLists.includes(e.value))?.selected=true; 报错Parsing error: Invalid left-hand side in assignment expression.
时间: 2024-03-24 07:36:41 浏览: 15
这个错误通常是由于在赋值语句的左边出现了无效的表达式所导致的。在这个例子中,问题可能在于使用了可选的链式操作符 `?.` 来访问 `child` 的属性,但是在该属性的值上进行了赋值操作,这是不允许的。
你可以尝试将代码拆分成两个步骤,先检查属性是否存在并赋值给一个变量,然后再使用该变量进行赋值操作。例如:
```
const selectedChild = child.find(e => chooseLists.includes(e.value));
if (selectedChild) {
selectedChild.selected = true;
}
```
这样可以避免无效的左值赋值表达式错误,并且代码的可读性也更好。
相关问题
[vue/no-parsing-error] Parsing error: Unexpected token :.
这个错误通常是因为在 Vue 模板中使用了 JavaScript 对象字面量,但是没有将其包裹在 `v-bind` 指令中。例如:
```html
<template>
<div>
<!-- 这里会出现解析错误 -->
{{ message: 'Hello, World!' }}
</div>
</template>
```
应该改为:
```html
<template>
<div>
<!-- 使用 v-bind 包裹对象字面量 -->
{{ v-bind:message=" 'Hello, World!' " }}
</div>
</template>
```
或者使用简写形式:
```html
<template>
<div>
<!-- 使用简写形式 -->
{{ message: 'Hello, World!' }}
</div>
</template>
<script>
export default {
data() {
return {
message: 'Hello, World!'
}
}
}
</script>
```
如果你仍然遇到问题,请提供更多的代码和错误信息,以便我们更好地帮助你解决问题。
vue怎么解决绑定{{ index < collectname.length-1 ? " > " : "" }}报ESLint: Parsing error: invalid-first-character-of-tag错误
这个错误是因为 Vue 模板中的花括号 {{ }} 与 ESLint 规则冲突导致的。解决方法有两种:
1. 禁用 ESLint 规则
在 .eslintrc.js 文件中添加如下配置:
```javascript
rules: {
'vue/no-parsing-error': [2, { 'x-invalid-end-tag': false }],
},
```
这样就会禁用掉 ESLint 的该规则,但同时也会导致其他未知的问题。
2. 使用计算属性
将绑定逻辑放到计算属性里面,再在模板中使用计算属性即可。
```html
<template>
<div>{{ collectnameWithSeparator }}</div>
</template>
<script>
export default {
data() {
return {
collectname: ['a', 'b', 'c'],
};
},
computed: {
collectnameWithSeparator() {
return this.collectname.map((name, index) => {
return index < this.collectname.length - 1 ? name + ' > ' : name;
}).join('');
},
},
};
</script>
```
这样就避免了直接在模板中使用表达式导致的问题。