2017-03-12 7 views
0

外部ファイルを `compute`する方法は? main.jsで

import player from './package/Player'; 

Vue.use(player); 
... 
new Vue({ 
    el: '#app', 
    player, 

とplayer.js:

export default function (Vue) { 
    let isPlaying = true; 

    Vue.player = { 
    changePlaying(){ 
     let before = isPlaying; 
     isPlaying = !isPlaying; 
     let after = isPlaying; 

     console.log(before, after); 
    }, 
    getPlaying(){ 
     return isPlaying; 
    } 
    }; 
    Object.defineProperties(Vue.prototype, { 
    $player:{ 
     get:() => { 
     return Vue.player; 
     } 
    } 
    }); 
} 

とAppで:

computed:{ 
     player(){ 
      return this.$player.getPlaying(); 
     } 
    }, 

良い動作しますが、player.jsでparametrが変更されているときに、app.vueでは変更されていません。その問題を解決するには? 私はapp.vueのボタンをクリックしてたとえば、コンソールに私はこれを見ることができます:
真偽
偽真
真が.. など

だから、それは情報が変化していることを意味し、それをチェックする方法は?

また、私はvuexでそれをやろうとしましたが、そこには情報しか格納できませんが、私はそれを変換する必要があるので、vuexはグーグーではありません。

質問があります: 外部ファイルの情報を確認するにはどうすればよいですか?

答えて

0

この周りの簡単な方法は、それが反応性にするために、あなたのisPlaying変数のVueインスタンスを使用することです:

let isPlaying = new Vue({ 
    data: { 
    status: true 
    } 
}); 

はここJSFiddleです:https://jsfiddle.net/289h9a88/