我不能在Vue中将“disabled”参数设置为持久性

时间:2017-08-04 08:20:24

标签: vue.js vuejs2 vue-component

我无法将“disabled”参数设置为持久性。如果我在数据函数中设置disable: true,它似乎没有做任何事情。

您可以在mounted()内部看到它调用checkCanVote(),并且首先console.log表示它已设置为false,然后我将其设置为{{1}但是在星星悬停(true)上它又是star_over()

http://jsfiddle.net/7unqk49k/1/

模板

false

JS

<div id="star-app" v-cloak class="col-md-4">
  <star-rating value="<?php echo $this->rating_rounded; ?>"></star-rating>
</div>

<template id="template-star-rating">
  <div class="star-rating">
    <label class="star-rating__star" v-for="rating in ratings" :class="{'is-selected': ((value >= rating) && value != null), 'is-disabled': disabled}" @mouseover="star_over(rating)" @mouseout="star_out">
      <input class="star-rating star-rating__checkbox" type="radio" :name="name" :disabled="disabled" :id="id" :required="required" v-model="value" @click="set(rating)"> ★
    </label>
  </div>
</template>

1 个答案:

答案 0 :(得分:0)

实际问题在于命名事物。尽量避免对传递给子组件的道具和您在子组件中声明的数据属性使用相同的命名。

为了让这个按预期工作,你应该删除disabled道具的道具声明,它应该有效。

http://jsfiddle.net/9debdkh1/