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

鍍金池/ 問答/HTML/ vue組件如何訪問對象實例中的屬性?

vue組件如何訪問對象實例中的屬性?

<template id="panel-tpl">
    <div>
        <div class="title" v-on:click="alertTitle">
            蛤蛤
        </div>
        <div class="content">
            茍利國家生死以
        </div>
        <div class="footer">
            將信將疑
        </div>
    </div>
</template>
<div id="app" class="app">
    <panel></panel>
</div>
$(function(){
    Vue.component("panel", {
        template: "#panel-tpl",
        methods: {
            alertTitle: function(){
                console.log(this.mess);
            }
        }
    })
    var app = new Vue({
        el: "#app",
        data: {
            mess: "實例中的mess"
        }
    })
     
})

我想點擊一下【蛤蛤】,打印一下#app中的mess,請問如何做到?
現在因為組件中沒有mess這個屬性,打印undefined.

回答
編輯回答
吃藕丑

console.log(this.$root.mess)

組件中的 this,是指的組件,而你要獲取的mess是根組件的數據。

更好的解決方式應該是是把mess作為子組件的props傳入。

Vue.component("panel", {
        template: "#panel-tpl",
        props: ['mess'],
        methods: {
            alertTitle: function(){
                console.log(this.mess);
            }
        }
    })
<panel :mess="mess"></panel>

這樣在子組件中就可以通過this.mess獲取到值了。

2018年9月21日 11:38
編輯回答
負我心

alertTitle方法中this.$parent.mess試試

2017年2月5日 14:10
編輯回答
掛念你

this不要隨便用,鬼才知道this指向哪里

2017年1月16日 05:02
編輯回答
默念

app.$data.mess試試

2017年12月2日 07:39