Мне неясно, где _self устанавливается в вашем случае. Обычно _self = this;
- это подход, используемый разработчиками для передачи текущего экземпляра Vue через замыкание в функцию обратного вызова. Я бы не стал доверять _self
, если бы точно не знал, где он будет установлен.
Ваш edit1 должен работать абсолютно. Пока data(){ self: this }
происходит в основном экземпляре Vue и в компонентах, которые вы используете self
при установке свойства с помощью :
, как :main-component="self"
, это должно работать нормально, если объединены основные свойства данных компонента Vue. во все компоненты, используемые этим экземпляром vue.
Откровенно говоря, это своего рода подход. Как упомянул @ raina77ow, возможно, имеет смысл взглянуть на VueX или EventBus, но подход, который вы предлагаете в Edit1, должен быть надежным способом обхода основного экземпляра Vue.
Кстати, мне интересно, может ли root
или main
быть лучшим именем, чем я. Учитывая, что это «я» экземпляра Vue основного или корневого уровня, а не «я» потомка, передающего значение.