1

在我的 laravel + Spark + Vue js 项目中,我使用了https://github.com/Vanthink-UED/vue-core-image-upload,它们的代码如下

export default {
props:{
 cropBtn: {
    type: Object,
    default: function() {
      return {
        ok: '保存',
        cancel: '取消',
      }
    }
  }
}

根据他们的文档,如果您想更改按钮文本,请执行以下操作

cropBtn Object {ok:'Save','cancel':'Give Up'} 裁剪按钮的文本

我用过

<vue-core-image-upload 
                      v-bind:class="['pure-button','pure-button-primary','js-btn-crop']" 
                      v-bind:crop="true" url="/process-image" 
                      extensions="png,gif,jpeg,jpg" 
                      cropBtn="[{ok: 'Save',cancel: 'Cancel'}]"                     
                      v-on:imageuploaded="imageuploaded">
                    </vue-core-image-upload>

v-bind:cropBtn="items"

js文件

module.exports = {
prop:['cropBtn'],
data() {        
     return {
         items: [{
                    ok: 'Save',
                    cancel: 'Cancel',
                  }],
                  cropBtn: {
                            type: Object,
                            default: function() {
                              return {
                                ok: 'Save',
                                cancel: 'Cancel',
                              }
                            }
                          },

        src: 'http://img1.vued.vanthink.cn/vued0a233185b6027244f9d43e653227439a.png'            
    };
}
};

但它不起作用。我得到相同的默认中文值。

有什么建议可以解决吗?

4

1 回答 1

3

您需要kebab-case在传递时使用以驼峰式声明的形式,并且在通过道具传递 javascript 对象时props必须使用v-bind或简写::

<vue-core-image-upload :crop-btn="{ok: 'Save',cancel: 'Cancel'}"                     ></vue-core-image-upload>

见:https ://vuejs.org/v2/guide/components.html#camelCase-vs-kebab-case

于 2017-02-07T12:51:10.873 回答