javascript - 避免子组件中的未定义值

标签 javascript vue.js vue-component

我有一个页面的子组件:

<template>
  <div class="ll-page-wrapper">
    <div class="ll-page-div">
      <Page :total="data_count" :current="cur_page" @on-change="changePage"></Page>
    </div>
  </div>
</template>

<script>
  export default {
    props: {
      data_count: {
        type: Number,
        required: true
      }
    }
  }
</script>

我在父组件中使用:

<ll-page :data_count="os_type_data.count" 
         @change_page_for_parent="os_type_change_page"></ll-page>

有时 os_type_data.countundefined,因为它还没有被获取。

我想避免这个问题,我不想在父组件中更改代码,因为这会影响用户体验。我想在子组件中修复它,我该怎么做?

最佳答案

props 项有一个验证器参数:

例如:

Vue.component('example', {
  props: {
    ...
    propF: {
      validator: function (value) {
        return value > 10
      }
    }
  }
})

您可以像下面这样更改您的子组件 props 代码:

props: {
  data_count: {
    type: [Number, undefined],
    required: true,
    validator:function (value) {
      if (!value) {
        return 1
      }
    }
  }
},

关于javascript - 避免子组件中的未定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49621569/

相关文章:

javascript - Vue.js:更改时调用函数

javascript - 可调整大小的 Vue-good-table 或 Vue

javascript - 无法访问vue2中子组件动态函数中的槽

javascript - 从php到javascript解析变量的问题

javascript - 对数组中的日期字符串进行排序

javascript - 在 Vue.js 中,当选项有条件显示和隐藏时,如何确保选择元素连续选择第一个选项?

vue.js - Vue Apollo : How can I query GraphQL using an object as Input argument?

javascript - 状态变化时更新谷歌图表 - vuex

javascript - Node.js 堆栈跟踪不包含用户代码

c# - 如何使用 Asp.net Websrvice 绑定(bind) ExtJS 网格?