我正在改组一个数组并在控制台中收到一条奇怪的消息。
我的 JSON 文件如下所示:
[
{
"id": 1,
"name": "Sushi",
"image": "https://images.pexels.com/photos/1640777/pexels-photo-1640777.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500",
"price": 7.99,
"restaurant": "Sushi Garden",
"city": "Burnaby",
"googleMap": "https://www.google.com",
"keywords": "Lorem ipsum",
"onlineOrders": {
"foodly": "https://www.google.com",
"doorDash": "https://www.daum.net",
"skipTheDish": "https://www.naver.com"
}
},
{
"id": 2,
"name": "Noodle",
"image": "https://images.pexels.com/photos/1640777/pexels-photo-1640777.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500",
"price": 7.99,
"restaurant": "Restaurant Name",
"city": "Burnaby",
"googleMap": "https://www.google.com",
"keywords": "Lorem ipsum",
"onlineOrders": {
"foodly": "https://www.google.com"
}
},
...
Run Code Online (Sandbox Code Playgroud)
这是我对食物对象数组进行洗牌的组件。
import foods from "/json/foods.json";
import _ from "lodash";
...
created: function () {
this.retrievedFoods = foods;
this.randomizeFoodsOrder();
},
data() …Run Code Online (Sandbox Code Playgroud) 我是 Vue 的新手。在制作这个组件时,我卡在这里了。
我正在向使用以下代码返回数组的 API 发出 AJAX 请求:
<script>
import axios from 'axios';
export default {
data() {
return {
tickets: [],
};
},
methods: {
getTickets() {
axios.get(url)
.then((response) => {
console.log(response.data) //[{}, {}, {}]
this.tickets = [...response.data]
console.log(this.tickets) //proxy object
})
},
},
created() {
this.getTickets();
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
问题是,this.tickets被设置为一个Proxy对象,而不是Array我从 API 获得的。
我在这里做错了什么?