Моя миссия очень проста: мне просто нужен массив со строками. Фон состоит в том, что позже я хочу вставить штрих-коды в этот массив.
Но главная проблема сейчас в том, что я всегда получаю:
"index.vue: var - зарезервированное слово"
Я просмотрел vue doc и даже попробовал пример. Но понятия не имею, почему я всегда получаю эту синтаксическую ошибку.
Это моя часть javascript, интересный блок - последний, в котором я хочу объявить свой массив.
<script>
import axios from 'axios';
import moment from 'moment';
export default {
data() {
return {
form: {
barcodes: [],
id: this.$route.params.id,
form: {},
used_by: '',
return_time: '',
barcode: '',
onSubmit: false,
}
}
},
methods: {
onSubmit() {
this.$message('submit!')
axios.put('http://127.0.0.1:8000/api/tools/' + this.id, this.form)
.then(response => {
console.info(response);
this.onSubmit = true;
})
.catch((error) => {
console.info(error);
})
},
onCancel() {
this.$message({
message: 'cancel!',
type: 'warning'
})
}
},
created() {
axios.get('http://127.0.0.1:8000/api/tools/' + this.id)
.then(response => {
console.info(response);
this.form = response.data;
})
.catch((error) => {
console.info(error);
})
},
var example2 = new Vue({
el: '#example-2',
data: {
parentMessage: 'Parent',
items: [
{ message: 'Foo' },
{ message: 'Bar' }
]
}
})
}
</script>
Это html-часть:
<ul id = "example-2">
<li v-for = "(item, index) in items">
{{ parentMessage }} - {{ index }} - {{ item.message }}
</li>
</ul>
Здесь вы также можете увидеть пример: https://vuejs.org/v2/guide/list.html#Mapping-an-Array-to-Elements-with-v-for
Но я получаю:
index.vue: var is a reserved word (89:2)
87 | },
88 |
> 89 | var example2 = new Vue({
| ^
90 | el: '#example-2',
91 | data: {
92 | parentMessage: 'Parent',
ну ты в объекте
потому что вы не можете объявить свойство в объекте с помощью оператора var.
@ MosèRaguzzini, но это не похоже на собственность, поскольку он использует знак = вместо :, я думаю, это опечатка
на самом деле вы также не можете использовать знак равенства после ключа объекта. Похоже, вы упускаете основу javascript
пожалуйста, поделитесь содержимым index.vue



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы не можете поместить объявление переменной внутри литерала объекта. Это должно быть записано как свойство объекта:
example2: new Vue({
el: '#example-2',
data: {
parentMessage: 'Parent',
items: [
{ message: 'Foo' },
{ message: 'Bar' }
]
}
})
А, хорошо, я понял. Но даже когда я включаю свой массив в существующий блок data () - я все равно получаю «Элементы свойства или метода» не определены в экземпляре, но используются во время рендеринга ».
Это звучит специфично для того, как Vue использует эти данные, и я ничего об этом не знаю. Я просто помогаю вам исправить общий синтаксис JavaScript.
Хорошо, решил. Я забыл правильное обозначение: form.items
удалите ключевое слово var, и оно будет работать, как ожидалось