在Vue中创建组件时如何实现功能?

Kon*_*ten 4 javascript vue.js vuex

根据docs,Vue对象的构造函数是这样管理的。

var vm = new Vue({
  created: function () { console.log("I'm created!"); }
});
Run Code Online (Sandbox Code Playgroud)

但是,我不知道创建Vue组件时如何做相应的事情。我已经尝试了以下方法,但是没有在控制台上打印任何内容。

export default {
  created: function() { console.log("Component created!"); }
}
Run Code Online (Sandbox Code Playgroud)

是否可以订阅/收听正在渲染的组件?我想通过下载一些数据并将其放入存储中来对该事件做出反应,以便组件携带的表将显示其信息。

San*_*gha 6

在我的应用程序中,mounted一旦安装了组件,我倾向于使用钩子来加载一些Ajax数据。

我的应用中的示例代码:

Vue.component('book-class', {
    template: '#booking-template',
    props: ['teacherid'],
    data: function () {
        return{
            // few data items returned here..
            message: ''
        }
    },
    methods: {
        // Few methods here..
    },
    computed: {
      // few computed methods here...
    },
    mounted: function () {


        var that = this;
        $.ajax({
            type: 'GET',
            url: '/classinfo/' + this.teacherid,
            success: function (data) {
                console.log(JSON.stringify(data));

            }
        })
    }
});


new Vue({
    el: '#mainapp',
    data: {
        message: 'some message here..'
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,我也可以在生命周期中使用created()挂钩。

在Vue2中,您具有以下生命周期挂钩:

在此处输入图片说明