vue访问模板中的导入变量

时间:2017-12-17 21:38:32

标签: vue.js vue-class-components

是否有某种方法可以在模板中使用导入的对象,而无需在vue组件中为其指定别名/属性。即我可以以某种方式使用未在“this”上定义的变量

 <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>

2 个答案:

答案 0 :(得分:2)

  

我可以以某种方式使用未在“this”上定义的变量

据我所知,这是不可能的。

但是,查看您的示例,我可以看到您正在尝试访问Vuex商店的属性。 Vuex通过this.$store在每个实例上公开商店,因此您应该可以在模板中执行此操作:

<div v-if="$store.state.loaded">

答案 1 :(得分:1)

您可以像vuex一样使用插件。但总的来说,这是一个坏主意 这使得使用您的代码的其他人质疑Store字段的来源。