javascript - 請教Vue.js 大神。關於子組件 props 字串數據,在data下不會跟隨父組件變化而已變化
習慣沉默
習慣沉默 2017-05-19 10:28:49
0
3
567

如下官方程式碼,父元件改變input中的值,子元件的span標籤的文字是會改變的。

 <p id="app">
    <input v-model="parentMsg">
    <br>
    <child v-bind:my-message="parentMsg"></child>
</p>

<script>
    Vue.component('child', {
        props: ['myMessage'],
        template: '<span>{{ myMessage }}</span><br>'
    });

    var vm = new Vue({
        el: '#app',
        data: {
            parentMsg: 'hello  you are a good boy!'
        }
    });
</script>

瀏覽器效果

接下來,我在子元件中加入data屬性, 並且更改<span>標籤中綁定的欄位是{{msg}},現在外面input輸入值後,子元件中的< span>標籤的文字就不會改變了,為什麼會這樣?

Vue.component('child', {
        props: ['myMessage'],
        template: '<span>{{ msg }}</span><br>',
        data: function () {
            return {
                msg: this.myMessage
            }
        }
    });

瀏覽器效果

data屬性中陣列和物件是可以跟隨變化的,字串就不行了。但如果改用計算屬性computed 字串又可以跟著變化了。

請問各位Vue大神,是我程式碼寫錯了?還是什麼原因。

習慣沉默
習慣沉默

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!