当前位置 博文首页 > 浅谈vue-props的default写不写有什么区别

    浅谈vue-props的default写不写有什么区别

    作者:Mankii 时间:2021-09-07 19:01

    注意 default 不要写成 defaults

    例如有一个名为mk-test的组件如下:

    <template>
      <div>{{maxLength}}</div>
    </template>
    <script>
    export default {
      props: {
        maxLength: {
          type: Number,
          default: 1
        }
      }
    }
    </script>

    当父组件这样调用时:

    <mk-test></mk-test>

    渲染出来是:

    1

    如果把组件的default:1删除,父组件调用方式不变,此时渲染结果是:

    0

    此时如果父组件改成:

    <mk-test maxLength="3"></mk-test>

    此时渲染结果是:

    3

    自我总结:

    1、使用default定义默认值时,如果父组件有传值,则用父值渲染。如果父组件没有传值,则使用默认值。

    2、没有定义默认值时,如果父组件有传值,则用父值渲染。如果父组件没有传值,则使用的是该类型的默认值。类型及其默认值如下:

    String ''

    Number 0

    Array []

    Object {}

    补充知识:Vue.js中的 new Vue() 和 export default {}区别

    在生成、导出、导入、使用 Vue 组件的时候,常常被位于不同文件的 new Vue() 和 export default{} 。

    首先,Vue 是什么? po 主的理解是 Vue 就是一个构造函数,生成的实例是一个巨大的对象,可以包含数据、模板、挂载元素、方法、生命周期钩子等选项。

    所以渲染的时候,可以使用构造 Vue 实例的方式来渲染相应的 html 页面:

    new Vue({
      el: '#app'
      ...
    })

    那么 export default {} 又是?

    在复用组件的时候用到的。

    假设我们写了一个单页面组件 A 文件,而在另一个文件 B 里面需要用到它,那么就要用ES6 的 import/export 语法 ,在文件 A 中定义输出接口 export **,在文件 B 中引入 import **,然后再生成一个 Vue 实例 new Vue (**),把引入的组件用起来,这样就可以复用组件 A 去配合文件 B 生成 html 页面了。

    所以在复用组件的时候,export 和 new Vue 缺一不可。

    以上这篇浅谈vue-props的default写不写有什么区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持站长博客。

    jsjbwy
    下一篇:没有了