parent vs root ($parent, $root)
Часто возникает потребность обратиться к родительскому методу.
$root - обращается как к корневому, так и к родительскому методу, если родительский метод это корневой. Вложенность в один уровень (1).
Если вам захочется перенести дочерний виджет (модуль) в большую вложенность, то в таком случае вам не придется переписывать код для обращения к корневому методу.
$parent обращается только к родительскому виджету!
$root обращается к корневому.
Пример:
var app = new Vue({
mixins: [childMixin],
methods: {
addModule: function() {
console.log('module added');
}
}
});
var childMixin = {
methods: {
add: function (){
//будет работать только в этой вложенности
this.$parent.addModule(); //console.log('module added');
//будет работать в любой вложенности, всегда обратится к app.addModule
this.$root.addModule(); //console.log('module added');
}
}
}