v-if在我的子组件中不起作用

时间:2019-02-20 15:23:12

标签: javascript vue.js vuejs2 vue-component

我试图在子组件中的v-if等于true时显示跨度。任何人都可以建议我做错了什么。目前,我不知道我做错了什么。

子组件

const cardsTemplate = {
    template: 
    `
        <fieldset v-if="show.seach_checkboxes">
            <span>HELLO WORLD</span>
        </fieldset>
    `,
    props: ['js_local'],
    data() {
        return {
            show:{
                search_checkboxes : {
                    type: Boolean,
                    default: true,
                }
            }
        }
    },
    methods :{
        change_boolean : function(reverse_boolean){
            this.show[reverse_boolean] = !this.show[reverse_boolean]
            console.log(this.show)
        },
        show_search_template: function(){
            this.change_boolean('search_checkboxes')
        },
        get_search_template : function(){
            $.post(this.js_local.ajaxurl,
                {action : 'get_search_templates'}
            ).done((data)=>{
                this.name = JSON.parse(data)
            }).fail((error)=>{
                console.log(error)
            })
        },
    }
}

1 个答案:

答案 0 :(得分:2)

似乎您正在尝试使用data()进行类型检查,就像使用props一样。试试这个:

data() {
    return {
        show: {
            search_checkboxes: true
        }
    }
}

此外,在模板HTML中,您拼写错误的search_checkboxes,它缺少了“ r”。

<fieldset v-if="show.seach_checkboxes">
                         ^^^