vue.js android 兼容性,Vue.js Safari移动版和兼容性

这篇博客讲述了作者遇到的一个Vue.js组件在Safari浏览器和其移动版上运行失败的问题,错误信息为`Object.values不是一个函数`。问题出现在`creditsSum`的计算上,该计算使用了`Object.values`方法。文章讨论了如何针对Safari的兼容性问题进行调试和修复,以确保组件在所有主流浏览器上的正常工作。
摘要由CSDN通过智能技术生成

我有一个Vue.js组件,可以在Firefox,Chrome上正常工作,但Safari和Safari移动浏览器会失败。Vue.js Safari移动版和兼容性

控制台回报:

Object.values不是一个函数

是否有一个解决这个问题?

完整的代码如下:

{{meal}}

{{ option }}

Credits used: {{creditsSum}}/{{credits}}

Dietary

PRICE: £{{cost}}

Subscribe

4 Weeks

SUBSCRIBE

8 Weeks

SUBSCRIBE

Subscribe

4 Weeks

SUBSCRIBE

8 Weeks

SUBSCRIBE

Subscribe

4 Weeks

SUBSCRIBE

8 Weeks

SUBSCRIBE

import axios from 'axios';

export default {

mounted() {

console.log('Component ready.');

console.log(JSON.parse(this.f));

console.log(JSON.parse(this.a));

},

props: ['f','c', 'a'],

name: 'credits',

data: function() {

var meals = JSON.parse(this.f)

var all = JSON.parse(this.a)

var creditsPerMeal = {}

for (var i = 0; i < meals.length; i++) {

creditsPerMeal[meals[i]] = 0

}

return {

credits: this.c,

meals,

options: [1,2,3,4,5,6,7,8,9,10],

select_meal: [],

creditsPerMeal,

all,

dietary: "",

}

},

computed: {

creditsSum() {

return Object.values(this.creditsPerMeal).reduce((a, b) => a + b, 0)

},

cost: function() {

return this.cost = this.credits * 6;

},

},

methods: {

onSubmit() {

axios.post('/check', {

selected_meals: this.select_meal,

dietary: this.dietary,

price: this.cost

})

.then(function(response) {

window.location = "/checkout";

})

.catch(function(error) {

console.log(error);

});

},

createSelection: function(){

this.select_meal = [];

for (var i = 0; i < JSON.parse(this.f).length; i++) {

this.select_meal.push({

food: JSON.parse(this.f)[i],

quantity: this.creditsPerMeal[JSON.parse(this.f)[i]]

});

}

},

fourWeek: function() {

axios.post('/sub', {

selected_meals: this.select_meal,

package: 4,

credits: this.credits

})

.then(function(response) {

window.location = "/subscribe";

})

.catch(function(error) {

console.log(error);

});

},

eightWeek: function() {

axios.post('/sub', {

selected_meals: this.select_meal,

package: 8

})

.then(function(response) {

window.location = "/subscribe";

})

.catch(function(error) {

console.log(error);

});

},

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值