Vue.js ready()方法不会在vue组件中调用

时间:2017-01-16 15:43:25

标签: webpack vue.js vue-component vue-router

我正在使用Webpack bundler来提供基于Vue 2.0的前端。问题是组件中的方法ready不会被调用。我是否需要在组件或类似的东西上添加一些额外的手表?

我的路由器:

import Vue from 'vue'
import VueRouter from 'vue-router'
import VueResource from 'vue-resource'

import Register from './views/auth/register.vue'

Vue.use(VueRouter);
Vue.use(VueResource);

const routes = [
  { path: '/auth/register', component: Register } 
]

const router = new VueRouter({
  routes // short for routes: routes
})

export default router;

和我的样本组件:

<template>
    <div>
        <div class="message">{{ msg }}</div>
    </div>
</template>

<script>
export default {

    data: function () {
        return {
            msg: 'Hello from vue-loader!'
        }
    },

    ready: function() {
        console.log('test');
    }
}
</script>

2 个答案:

答案 0 :(得分:9)

ready()生命周期钩子方法在VueJS 2.0.x中被删除。请使用mounted()created()

答案 1 :(得分:2)

如果在100%加载了图像文件后需要运行代码,请在mounted()中进行测试:

document.onreadystatechange = () => {
  if (document.readyState == "complete") {
    console.log('Page completed with image and files!')
    // fetch
  }
}

更多信息:MDN Api onreadystatechange