vue доступ к импортированной переменной в шаблоне

Есть ли способ использовать импортированный объект в шаблоне без указания псевдонима/свойства для него в компоненте vue. т.е. могу ли я как-то использовать переменные, не определенные в "этом"

 <template>
        <div v-if="Store.loaded"></div> //Store not defined on component
        <div v-if="store.loaded"></div> //works
    </template>

    <script>
        import Vue from 'vue'
        import { Component } from 'vue-property-decorator'
        import Store from "../store" // can I somehow use this directly?

        @Component
        export default class App extends Vue {
            store = Store // is there some way so I don't need this line?
        }
    </script>

person Chris    schedule 17.12.2017    source источник


Ответы (2)


Могу ли я как-то использовать переменные, не определенные в "этом"

Это невозможно, насколько я знаю.

Однако, глядя на ваш пример, я вижу, что вы пытаетесь получить доступ к свойствам хранилища Vuex. Vuex предоставляет хранилище для каждого экземпляра через this.$store, поэтому вы сможете сделать это в своих шаблонах:

<div v-if="$store.state.loaded">
person Decade Moon    schedule 17.12.2017
comment
К сожалению, это не магазин vuex. Это мой собственный объект Store. Но, может быть, я мог бы написать плагин, который подключает мой магазин к vue, как это делает vuex. - person Chris; 18.12.2017

Вы можете использовать плагин, как это делает vuex. Но в целом это плохая идея.
Это заставляет других людей, работающих с вашим кодом, сомневаться в источнике поля Store.

person Bsalex    schedule 17.12.2017