Vue JS фильтр не совместим на некоторых мобильных устройствах - PullRequest
0 голосов
/ 07 января 2019

Я использую vue js в своем приложении для просмотра веб-страниц только для фильтрации поиска пользователей. Все работает очень хорошо, пока я не запускаю свое приложение на Samsung SM-G530H, я получаю сообщение об ошибке Uncaught SyntaxError: Unexpected token (, я проверил все правильно, и оно работает на другом устройстве, кроме старого устройства. Пожалуйста, как сделать его совместимым на всех устройствах?

enter image description here

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));
                });
            }
      }
});

1 Ответ

0 голосов
/ 07 января 2019

Кажется, что ошибка происходит, потому что вы пытаетесь запустить код, который использует синтаксис "определения методов".

Определения методов в MDN

Причина, по которой вы получаете сообщение об ошибке, заключается в том, что «определения методов» - это относительно новая функция / синтаксис в JS, которая поддерживается не всеми браузерами.

Решением для этого будет предварительная компиляция кода в ES5 с использованием babel. Если вы используете VUE-CLI, у вас уже есть веб-пакет, и вам просто нужно настроить его для вывода кода ES5.

...