Javascript Vue:如何在组件模板内使用属性值

Javascript Vue:如何在组件模板内使用属性值,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我正在使用来自的通用文件选择器组件,现在我希望能够从外部传递“accept”值。换句话说,我想做一些事情,比如 应该翻译成什么 <input type="file" accept="application/json,.json"/> 但到目前为止,我尝试将此属性的值绑定到文件输入的accept属性都失败了(例如,使用{{accept}}或this.accept)。我想知道是否可以在组件的模板中直接使用prop值。任何想法都将不胜感激 您可以扩展他们的组件以添加accept属性

我正在使用来自的通用文件选择器组件,现在我希望能够从外部传递“accept”值。换句话说,我想做一些事情,比如

应该翻译成什么

<input type="file" accept="application/json,.json"/>


但到目前为止,我尝试将此属性的值绑定到文件输入的accept属性都失败了(例如,使用
{{accept}}
this.accept
)。我想知道是否可以在组件的模板中直接使用prop值。任何想法都将不胜感激

您可以扩展他们的组件以添加
accept
属性,但鉴于它是一个如此小的组件,您最好更改教程中提供的代码以添加
属性

Vue添加了any,因此当您执行
操作时,
标签将获得添加为属性的
accept
,如果
输入
是根,则该属性将根据需要工作

要了解如何扩展组件,还有一个可以帮助您了解如何在Vue中实现这一点。但是,由于模板还没有准备好使用这个新道具,您需要完全覆盖html

如前所述,您可以使用他们的示例代码创建自己的组件,该组件接受
accept
prop并在正确的位置使用它。
扩展可能比值得拥有的好信息更麻烦。

您可以扩展他们的组件以添加
accept
属性,但鉴于它是一个如此小的组件,您最好更改教程中提供的代码以添加
属性

Vue添加了any,因此当您执行
操作时,
标签将获得添加为属性的
accept
,如果
输入
是根,则该属性将根据需要工作

要了解如何扩展组件,还有一个可以帮助您了解如何在Vue中实现这一点。但是,由于模板还没有准备好使用这个新道具,您需要完全覆盖html

如前所述,您可以使用他们的示例代码创建自己的组件,该组件接受
accept
prop并在正确的位置使用它。
扩展可能比值得拥有的好信息更麻烦。

您可以访问FileSelect组件的本机元素并手动为其分配accept属性

模板:

<file-select ref="fileSelect"></file-select>

您可以访问FileSelect组件的本机元素,并手动为其分配accept属性

模板:

<file-select ref="fileSelect"></file-select>

正如您在
文档中看到的,没有prop
accept
。所以,这是不可能的。您可以创建一个自定义组件,就像
文件select
,它有
prop
,正如您在
文档中看到的,没有prop
accept
。所以,这是不可能的。您可以创建一个自定义组件,就像
文件select
,它具有
属性
为什么扩展它才是答案?尤其是当您可以在vue模板中直接使用道具时?最佳做法是定义属性,然后在模板中使用
:accept=“propName”
。此处直接添加道具是正确的。我提到了扩展,但是对于这个例子来说它是不合适的。但是,如果您通过npm或任何其他软件包管理器添加组件,这将是一种方法,正如我所想的那样。看完这篇文章后,我添加了正确的方法,但决定保留最初的建议。为什么要扩展它呢?尤其是当您可以在vue模板中直接使用道具时?最佳做法是定义属性,然后在模板中使用
:accept=“propName”
。此处直接添加道具是正确的。我提到了扩展,但是对于这个例子来说它是不合适的。但是,如果您通过npm或任何其他软件包管理器添加组件,这将是一种方法,正如我所想的那样。看到这篇文章后,我添加了正确的方法,但决定保留最初的建议。