Я нашел этот метод более простым / удовлетворительным, так как я предпочитаю состав над наследованием:
export default {
foo: function(){ alert("foo!") }
}
<template>..</template>
<script>
import 'shared' from './shared'
export default {
mounted: function(){
this.foo = shared.foo // now you can call this.foo() (in your functions/template)
}
}
</script>
Это также облегчит запись тестов vue-agnostic.
ПРИМЕЧАНИЕ. Если вам нужно запустить foo в vue-scope, замените
blockquote>this.foo = shared.foo
наthis.foo = shared.foo.bind(this)