账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue功能组件怎样异步加载?
    17
    0
    <script>
    import { aaa } from "./aaa";
    ...
    import { nnn } from "./nnn";
    
    export default {
        data() {
            return {
                funMap: new Map()
            };
        },
        computed: {
            rme() {
                return this.$bus.rme;
            },
        },
        watch: {
            rme() {
                this.setRME();
            },
        },
        created: function() {
            this.funMap.set("aaa", aaa);
            ...
            this.funMap.set("nnn", nnn);
        },
        methods: {
            setRME() {
                this.funMap.get(this.rme)({
                    xxx: "xxx",
                });
            },
        }
    };
    </script>

    请问这种结构该怎么使用异步加载?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 扯线公仔 普通会员 1楼

      在Vue中,我们可以使用async/await和Promise来实现异步加载。以下是一个简单的例子:

      ```javascript import Vue from 'vue'; import axios from 'axios';

      export default { name: 'AsyncComponent', data() { return { loading: false, loadingText: 'Loading...', }; }, mounted() { this.fetchData(); }, async fetchData() { try { const response = await axios.get('https://api.example.com/data'); this.loading = true; this.loadingText = 'Loading data...'; this.data = response.data; this.loading = false; } catch (error) { console.error(error); } }, }; ```

      在这个例子中,我们在mounted生命周期钩子中调用fetchData方法。在fetchData方法中,我们使用axios.get异步加载数据,然后设置状态和显示加载文本。如果请求成功,我们将loading设置为true,并显示加载数据的文本。如果请求失败,我们将错误打印到控制台。

      注意,这个例子使用了Vue的axios库来发送HTTP请求。在实际使用中,你可能需要根据你的需求使用不同的库。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部