【问题标题】:How to pass props to third-party component?如何将 props 传递给第三方组件?
【发布时间】:2018-11-23 06:31:00
【问题描述】:

我正在尝试让bliblidotcom/vue-rangedate-picker 用英语工作。

因此,我需要传递一个名为:i18n 的道具,并为其赋值EN

这就是我在 Orders.vue 中所做的:

<rangedate-picker :props="props" @selected="onSelect"></rangedate-picker>

而且,这就是我在 VueJS 代码中所做的:

import VueRangedatePicker from 'vue-rangedate-picker';
export default {
    props: {
        'i18n': 'us/en',
    },

    components: {
        'rangedate-picker': VueRangedatePicker
    },

    data() {
        return {
            endpoint: '/approve',
            orders: [],

但我收到此错误:

dash.66983ac….js:52014 [Vue 警告]:属性或方法“props”不是 在实例上定义但在渲染期间引用。确保 此属性是反应性的,无论是在数据选项中,还是在 基于类的组件,通过初始化属性。看: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

发现于

---> 在 C:\Users\bnbih\Projects\business2\api\resources\assets\js\components\orders.vue

【问题讨论】:

    标签: javascript laravel-5 vue.js vuejs2 prop


    【解决方案1】:

    您需要传递为i18n,而不是props

    <rangedate-picker :i18n="language" @selected="onSelect"></rangedate-picker>
    data() {
      return {
        language: 'en',
        endpoint: '/approve',
        orders: []
      }
    }
    

    【讨论】:

    • 我现在收到这个奇怪的错误:[Vue warn]: Error in render: "TypeError: Cannot read property '5' of undefined" found in ---> at src/RangedatePicker。 vue 在 C:\Users\bnbih\Projects\business2\api\resources\assets\js\components\orders.vue
    • 没关系,english 的值似乎是 EN 而不是 en。现在可以使用了!
    猜你喜欢
    • 2019-08-09
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 2018-11-20
    • 2015-07-12
    相关资源
    最近更新 更多