7

是否有某种方法可以在模板中使用导入的对象,而无需在 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>
4

2 回答 2

2

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

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

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

<div v-if="$store.state.loaded">
于 2017-12-17T23:22:00.953 回答
1

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

于 2017-12-17T21:44:01.817 回答