検索

ホームページ  >  に質問  >  本文

JavaScript - vue 変数の更新で dom 更新をトリガーできません

以下に示すように、v-for を使用してこの itemList を html でレンダリングし、各アイテムの active を通じてこのアイテムに対応する html を表示 (v-show) するかどうかを制御します。
しかし、このようにイベントメソッドselectItemでitemListを変更した場合、domは更新されないのでしょうか? ? ?

リーリー
女神的闺蜜爱上我女神的闺蜜爱上我2755日前1125

全員に返信(10)返信します

  • 仅有的幸福

    仅有的幸福2017-06-12 09:31:44

    リーリー

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-12 09:31:44

    vue.itemList[index].active = true に変更されました

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-12 09:31:44

    selectItem に console.log(index) の値はありますか? この vue オブジェクトを取得するにはこれを使用する必要がありますか?

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-12 09:31:44

    データの変更方法が間違っているため、エラーは報告されませんか?

    リーリー

    返事
    0
  • 某草草

    某草草2017-06-12 09:31:44

    提供されたデータ形式に従って、試してみたところ、コードは次のとおりです
    `<p id="app">
    <li v-for="(item,index) in itemList" v- on:click="selectItem(index)" v-if="item.active">

    リーリー

    </li>
    </p>
    <スクリプト>

    リーリー

    </script>`

    返事
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:31:44

    vue 内では、変数を使用して vue のインスタンスを保存する場合でも、これを通して行われません

    リーリー

    返事
    0
  • 阿神

    阿神2017-06-12 09:31:44

    たとえば、ここではオブジェクトの代わりに配列を使用する方が適切ですが、あなたの dom のレンダリングの失敗は間違っていないと思います。ここでは問題ではなく、選択データの一方向の流れの問題など、フォーム コントロールにバインドされる必要があります。

    返事
    0
  • 巴扎黑

    巴扎黑2017-06-12 09:31:44

    キー値モードは vue では監視できません。vue は $set メソッドを提供します。 。削除には
    selectItem: function (index) {

    も必要です リーリー

    }、

    返事
    0
  • 習慣沉默

    習慣沉默2017-06-12 09:31:44

    Vueをこれに変更して試してください

    返事
    0
  • typecho

    typecho2017-06-12 09:31:44

    this.itemList.splice(index, 1, Object.assign({}, this.itemList[index], { active: true }))

    返事
    0
  • キャンセル返事