穿越型组件,指在 element-ui 的组件基础上增加了一定的组装配置后形成的新的组件,一般都是表单,由于其v-model 模式中间需要一层组件过度,因此称为穿越型,特点是需要配置两个标准属性
- dataObject:组件对应的是哪个表单数据对像
- dataName: 对应表单数据对象的数据名称是。
盎然有生机
穿越型组件,指在 element-ui 的组件基础上增加了一定的组装配置后形成的新的组件,一般都是表单,由于其v-model 模式中间需要一层组件过度,因此称为穿越型,特点是需要配置两个标准属性
建议放在created里 created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。 mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
如果在mounted钩子函数中请求数据可能导致页面闪屏问题 其实就是加载时机问题,放在created里会比mounted触发早一点,如果在页面挂载完之前请求完成的话就不会看到闪屏了
一般使用 created 比较多,如果需要严禁的区别的话,我们可以这样理解,如果请求的数据,对结果 dom 是有影响的,那么建议放到 created 中,如果请求的数据是与 dom 无关的,那么可以话在 mounted 中
这样说,一个组件是通过某个数据来渲染 dom 的,那么必然应该将 数据放在 created中加载,但有一种情况,我们创建了一个 chat ,其中一些数据是需要 chat 渲染完毕后才产生作用的,就可以放在 mounted 中。
无论是 created 还是 mounted 都在 props 数据交互之后发生。
elements ui
中的 el-tabs
组件在切换时,会触发一个组件的 props 数据重载,也就是会导致这样一个结果,如果你在 tabs 中的 pane 1 中放置了一个组件,该组件的数据通过 props 来指定,然后你在创建组件时通过 created 或者 mounted 重置或者修改了数据,那么当 tabs 被切换后,数据将被重置。
但这个重置,仅处于字符串型数据时会发生,如果是数据对象模式就不会有这个问题。
首先 created 在前,mounted 在后,从过程上理解,created 在模板渲染成html前调用,mounted 则在模板渲染成html后调用。
在实际使用中,一般情况下没有什么太复杂的区别,但如果我们在页面中使用了一些组件,而希望在 created 或者 mounted 中进行数据配置,那么就要看对数据的需要是在 html 渲染之前还是之后。