2017-08-31 86 views
0

我有以下代碼:Vue.js改變模板數據

Vue.component('greeting', { 
    template: `<h1>{{ greeting }}</h1>`, 

    data: function() { 
     return { 
      greeting: app.text 
     } 
    }, 
}); 

var app = new Vue({ 
    el: '.app', 
    data: { 
     text: 'Hello' 
    }, 
    methods: { 
     changeText: function() { 
      this.text = 'Goodbye' 
     } 
    } 
}); 

所以,當我打電話changeText方法它改變textgreeting在組件未更新。我不明白我是否應該在這種情況下使用道具,觀察者或計算機財產。

回答

2

你需要把它作爲一個道具組件:

Vue.component('greeting', { 
    template: `<h1>{{ greeting }}</h1>`, 
    props: ['greeting'] 
}); 

和HTML:

<greeting :greeting="text"></greeting>