Vue показывать компонент всегда, если один раз logi c true - PullRequest
1 голос
/ 17 июня 2020

Я хочу всегда показывать compopent , если logi c один раз истинно .

Я пытаюсь добавить и установить новую переменную, но получаю «Неожиданный побочный эффект в вычисляемом свойстве canShowAlways».

Как я могу сделать это в vue?

<mycomp v-if="canShowAlways" />

    data: function(){
      return {
        a: 0,
        b: 4,
        c: 1
        d: 2,
        isAlwaysShow: false
      }
    }
    computed: {
        canShowAlways() {
            if(this.isAlwaysShow){
                return true;
            }
            var isLast = this.a && this.b || this.c && this.d;
            if(isLast){
                this.isAlwaysShow = true;
                return true;
            }
            return false;
        },

1 Ответ

1 голос
/ 17 июня 2020

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

Эта строка this.isAlwaysShow = true;, скорее всего, является причиной ошибки, которую вы видите в своем коде.

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

В противном случае вы должны установить watch, как упоминалось здесь .

Скорее всего, лучший способ справиться с тем, что вы пытаетесь сделать, но потребуется предоставить больше информации.

...