我只是在我的Webview应用程序上使用vue js来过滤用户搜索。一切正常,直到我在Samsung SM-G530H
上运行我的应用程序为止,我收到一条错误消息,说Uncaught SyntaxError: Unexpected token (
,我检查了所有内容是否正确,并且可以在除旧设备之外的其他设备上运行。请如何使其兼容所有设备?
new Vue({
el: '#SearchVueContenPage',
data() {
return {
q: '',
total_result: 0,
searchProduct: null,
loading: false,
sort_filter: ``,
URL: ajax_appserver("public", "_api/searchProduct.php")
}
},
computed: {
search() {
if (!this.searchProduct) {
return []
}
if (!this.q) {
this.total_result = 0;
return this.searchProduct.recent.slice(0,4);
}
var query = this.q.toLowerCase();
var searchResult = this.searchProduct.result.filter(row => row.product_name.toLowerCase().includes(query) || row.business_name.toLowerCase().includes(query));
this.total_result = searchResult.length;
return searchResult;
}
},
mounted() {
this.loading = true;
this.fetchData().then(() => {
this.loading = false
});
},
methods: {
sortStatus: function(status) {
this.sort_filter = status;
},
async fetchData() {
ajax_fetch(this.URL).then(json => {
this.searchProduct = json;
Vue.nextTick(function(){
//Store object in IndexDb
}.bind(this));
});
}
}
});
答案 0 :(得分:0)
似乎是由于您试图运行使用“方法定义”语法的代码而发生的错误。
得到错误的原因是因为“方法定义”是JS中相对较新的功能/语法,并非所有浏览器都支持。
解决方案的目的是使用babel将代码预编译到ES5。 如果您使用的是VUE-CLI,则您已经有了webpack,只需配置它即可输出ES5代码。