Я немного запутался в том, как изменять свойства внутри компонентов, допустим, у меня есть следующий компонент:
{
props: {
visible: {
type: Boolean,
default: true
}
},
methods: {
hide() {
this.visible = false;
}
}
}
Хотя это работает, это даст следующее предупреждение:
Старайтесь не изменять свойство напрямую, так как значение будет перезаписано при повторном рендеринге родительского компонента. Вместо этого используйте данные или вычисленное свойство на основе значения свойства. Изменяемая опора: "visible" (находится в компоненте)
Теперь мне интересно, как лучше всего справиться с этим, очевидно, что свойство visible
передается при создании компонента в DOM: <Foo :visible="false"></Foo>
hide()
может быть на родительском элементе, который затем отправляет ссылку на него как опору). - person ArneHugo   schedule 24.11.2016visible
(логическое значение) иhide
(функция). Затемhide
определяется в родительском элементе, который также владеет состояниемvisible
. Таким образом, вы не редактируете реквизиты, а редактируете родительское состояние, что разрешено. - person ArneHugo   schedule 24.11.2016