vueルーティングパラメータが変化するとデータが更新されます

1349 ワード

このような文章の詳細な機能を開発する際、urlはこのような/article/1022のように、articleは詳細な文章のコンポーネントであり、通常はcreatedの中でmethodsのgetDetail(id)を実行する方法で、初めてデータを読み取る方法であり、それは他のコンポーネントでジャンプして、コンポーネントを再ロードすることに相当し、データをレンダリングするのは問題ない.同じコンポーネントを使用しているため、ルーティングパラメータが変化しただけで、データは更新されていません.これは,現在のコンポーネント内でcreatedメソッドのgetDetailが1回だけ実行され,実行されなくなったためである.この問題を解決するために,まず,計算属性computedがwatcherに似ているため,データの変化を傍受して応答の更新を実行できることを考えた.コードは次のようになります.
 computed: {
            newRender:function(){
            this.id = this.$route.params.id
            //        
            this.getData(this.id);
            //  tab    
            this.getResearch(this.id);
            //    tabview   
            this.tabView = 'research';
            this.getStockStatus(this.id);
            window.addEventListener('scroll', _.debounce(this.showGoTop, 500));
            return this.id
            }
        },
        created() {
            

        },

newRenderメソッドを使用できるように、ドキュメントにはこのような{{newRender}}が表示され、1つのデータを表示しているように書かれており、実際にはデータを表示しなくてもよい.では、この書き方に違和感を持たないように、view-id=「newRenderer」などの要素の属性にバインドします.
 

, , , , vue-router , 。