должен ли я сбрасывать все переменные внутри свойства data в vue.js

#vue.js

#vue.js

Вопрос:

1-й подход

 <script>
  export default {
    data(){
      return {
        data1: "some data",
        data2: "some more data"
      }
    },
    methods: {
      dataActions(){
        this.data1 = "new data";
      }
    }
  }
</script>
 

2-й подход

 <script>
  let data1 = "some data";
  let data2 = "some more data";

  export default {
    methods: {
      dataActions(){
        data1 = "new data";
      }
    }
  }
</script>
 

какой из них я должен предпочесть, предполагая, что данные не используются <template> .

влияет ли это на мой код?

Я знаю, что данные в свойстве data изменяют значения. Но должен ли я использовать 2-й подход, если я не хочу изменять значения?

и могу ли я передать data1 во 2-м подходе в качестве реквизита для компонентов?

Ответ №1:

data не для изменения значений — это для реактивных значений.

Если вы хотите, чтобы ваша страница повторно отображалась при изменении переменной, затем поместите ее в data

В противном случае держите его снаружи — изменяемым или иным.

Например, если ваш шаблон использует любую из этих переменных, то data это подходящее место для них.

props хорошо передавать данные в компонент. Но если страница будет повторно отображена, компонент будет повторно инициализирован.

Комментарии:

1. да, это то, что я подумал …… если я не буду использовать переменные на странице, я мог бы поместить их вне данных …. потому data что это превращает его в прокси, который, я думаю, занимает ненужное место. И мутируя, я имел в виду реактивный, sry мой плохой.