Сделать только вложенное свойство реагирующим - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть объект данных, который состоит из свойств, не связанных с vue / UI, и данных, описывающих состояние. Теперь я хочу, чтобы state был реактивным, но мне нужен весь объект изначально в компоненте. Мне нужно, чтобы vue не изменял другие свойства, потому что он мешает другой библиотеке обращаться к другим свойствам. (ожидает массив, но получает наблюдателя)

Возможно ли сделать часть объекта реактивной?

class Game {
    constructor() {
        this.untrackedProperty = ...;
        this.state = {
            these: "",
            should: "",
            be: "",
            reactive: ""   
        }
    }
}


// vue component
<script>
export default {
    data: function() {
        return {
            gameState: null
        }
    },
    created() {
        this.game = new Game();
        this.gameState = this.game.state;
    }
}
</script>

Что-то в этом роде. Я имел в виду это «Вот как я думаю, что это должно работать - это не так, но я думаю, что это довольно хорошо описывает мои намерения»

1 Ответ

0 голосов
/ 07 ноября 2018

Как насчет передачи в ваш компонент 2 значения:

  • состояние это будет отслеживаться
  • unntrackedProperty это не будет отслеживаться

Вместо прохождения Игра как целого, разделите эти 2 значения

...