哪个生命周期钩子用于初始化?

时间:2017-05-24 16:04:00

标签: vue.js

在下面的示例中,我使用created生命周期来订阅事件服务。这是正常的做法吗?有没有更合适的方式或生命周期方法来做这种事情?

const ViewComponent = {
  data(){
    return {
      pathname: window.location.pathname
    }
  },
  created(){
    eventService.on('routeResolved', (route) => {
      this.pathname = route.pathname
    })    
  },
  computed: {
    component () {
     return routes[this.pathname]
    }
  },
  render (h) { 
    return h(this.component) 
  }
}

1 个答案:

答案 0 :(得分:3)

用于初始化的生命周期方法完全取决于您需要访问的内容。如果您需要以任何方式操纵DOM,则在mounted生命周期事件之前不能这样做。要像设置问题那样设置事件处理程序,使用created生命周期事件就完全可以了。

主要用于一次性初始化操作,您将选择createdmounted。如果每次组件收到新属性时都需要完成某些操作,则可以使用beforeUpdatedupdated

查看documentation以获取完整说明。