javascript - 如何添加多个属性 - vue.js

标签 javascript vue.js vuejs2

这个有效:

<input v-model="project.name" :readonly="isReadOnly" :disabled="isReadOnly">

有没有办法让下面的代码工作?

<input v-model="project.name" {{ readOnlyAttr }} >
<input v-model="project.name" {{ isReadOnly : 'readonly disabled' ? ''}}>

脚本如下:

<script>
  export default {
    props: {
      isReadOnly: {
        default: ture,
        type: Boolean
      }
    },
    data () {
      return {
        readOnlyAttr: 'readonly disabled'
      }
    }
  }
</script>

最佳答案

v-bind 是你的 friend 。 因为您希望计算属性,所以我创建了一个计算方法来在每次 isReadOnly 值发生更改时构建对象。

当你想静态绑定(bind)一组属性时,你可以使用data方法。

<template>
  <div>
    <input v-model="project.name" v-bind="readOnlyAttributes">
  </div>
</template>
<script>

export default {
  name: 'example',
  computed: {
    readOnlyAttributes() {
      return {
        readonly: this.isReadOnly,
        disabled: this.isReadOnly ? 'readonly' : ''
      }
    },
    isReadOnly() {
      // returning always true for the example
      return true;
    }
  }
}

关于javascript - 如何添加多个属性 - vue.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46741537/

相关文章:

vue.js - 无法在Vuejs中访问ag-Grid API

javascript - 是否有关于如何填充 Revision.Description 以及在什么条件下填充的文档?

javascript - 为响应式 UI 分割多少长时间运行的功能?

javascript - 在javascript中强制对自定义对象进行类型转换

javascript - 使用 Vue.js 2 创建基本插件

javascript - highcharts-vue 给出有关 highcharts HTML 元素的错误

javascript - post请求返回的数据未传递到vue模板

javascript - Meteor:设置模板中设置复选框的助手

javascript - 如何将 json 值赋给 Vue.js 中的变量?

javascript - Vue 传播事件到子元素