vue.js - Vue js 将 HTML 按钮名称属性作为 PROPS 传递

标签 vue.js vuejs2 vue-component vuex vue-router

我创建了一个包含 HTML 按钮标记的自定义组件,因此我多次使用此组件作为父组件的共享组件。我想知道我是否可以将 HTML 按钮标签中的 name 属性作为 Prop 传递,这样我就可以拥有一个动态的 HTML 按钮标签 name 属性。

  <div class="toggle">
    <button
      class="btn"
      name="ships">
  </div>

<script>
export default {
  props: {
    ships: {
      type: String,
      required: true,
      default: ''
    }
  }
</script>


 <toggle
    :ships="white"
/>


 <toggle
    :ships="grey"
/>

 <toggle
    :ships="black"
/>

CODE

最佳答案

我已经更新了你的 fiddle :https://codesandbox.io/s/00yxy5lqzn

我改变的事情:

Toogle.vue

<button class="btn" v-bind:name="ships">BUTTON </button>

要更改 HTML 属性,只需添加 v-bind:在它前面,因为你不能在那里使用 mustache 。

App.vue

<div id="app">
  <toggle ships="black" />
  <toggle ships="grey" />
  <toggle ships="white"/>
</div>

删除了双点 -> 现在属性的内容将被解释为字符串。

编辑:您也可以这样做(结果相同):<toggle :ships="'black'" /> <-- 这可能是更好的方法

关于vue.js - Vue js 将 HTML 按钮名称属性作为 PROPS 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52518394/

相关文章:

vuejs2 - 引用错误 : Response is not defined

node.js - 启动 vue js dev 服务器给出错误 : . plugins[0] may only be a two-tuple or three-tuple

vue.js - 如何保持 vue.js 单文件组件在后台加载?

vue.js - Vue 对 v-for 函数迭代的项进行计数

javascript - Vue 3,在变量更改时调用 $emit

vue.js - Nuxt 项目中没有布局文件夹

docker - 如何将 VueJS 应用程序 Dockerize 用于生产并跳过 Dev 依赖项的安装

vuejs2 - 在 VueJS 中流畅地制作动画 v-show

laravel - 使用早于版本 1.x.x 的 Vue-router 从 Vue.js 中的方法重定向

javascript - 从 vuejs2 中的子组件更改父 Prop