在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ v-if/v-show不能動(dòng)態(tài)響應(yīng)

v-if/v-show不能動(dòng)態(tài)響應(yīng)

組件中有一個(gè)功能,通過v-show實(shí)現(xiàn)選中單選框"僅標(biāo)題"時(shí)隱藏權(quán)重選擇框,單選框"標(biāo)題+正文"被選中時(shí)顯示權(quán)重選擇框
在data中加入了變量isWeight,通過單選框的@click進(jìn)行改變。
但是應(yīng)用中發(fā)現(xiàn)初始x為true時(shí)權(quán)重選擇始終顯示,初始x為false時(shí)權(quán)重選擇始終隱藏。
為什么data數(shù)據(jù)中改變時(shí)v-if/v-show都不能動(dòng)態(tài)響應(yīng)呢?

<div class="normal-left-content">
    <div class="positionModel">
        <el-radio-group v-model="keyPosition">
            <el-radio label="TITLE" @click="titleClick('positionKey')">僅標(biāo)題</el-radio>
            <el-radio label="TITLE_CONTENT"  @click="titleClick('positioCon')" style="margin-left:20px;">標(biāo)題+正文</el-radio>
        </el-radio-group>
    </div>
</div> 
<div v-show="isWeight == true" class="normal-left-content exclude-words">
    <div><span class="spantext">權(quán)重選擇</span></div>
    <el-radio-group v-model="weightSelect">
        <el-radio label='false' @click="weightSet(false)">不設(shè)置權(quán)重</el-radio>
        <el-radio label="true" style="margin-left:20px;" @click="weightSet(true)">設(shè)置權(quán)重</el-radio>
    </el-radio-group>
</div>

<script>
    data: function(){ 
        return {
            isWeight: false
        }
    }
    methods{
        titleClick:function(val){
            if(val == 'positionKey') {
                this.isWeight = false;
            } else if(val == 'positioCon') {
                this.isWeight = true;
        }
    }
</script>
回答
編輯回答
傻叼

el-radio不支持click這個(gè)事件,你得換成change。
注意看文檔:http://element-cn.eleme.io/#/...

2017年10月30日 11:26
編輯回答
尐飯團(tuán)

v-show="isWeight == true" 改成 v-show="isWeight"

2017年1月23日 00:56
編輯回答
朕略萌

你可以試試用computed,或者watch

2017年3月23日 17:37
編輯回答
憶當(dāng)年

你的賦值沒有觸發(fā)vue視圖更新, 你需要用 $set去賦值才行,要么在你賦值后添加$forceUpdate

2017年3月21日 16:58
編輯回答
愛礙唉

你都沒有實(shí)例化vue
clipboard.png
這樣寫是不行的

2017年12月27日 04:47
編輯回答
淡墨

將@click改成@click.native.prevent后解決了該問題

2017年12月21日 01:12