2017-05-11 10 views
0

特定のデータ項目が更新されたときにコンポーネントが更新を実行しないようにするベストプラクティスは何ですか?Vueコンポーネントでデータ項目を表示しない

Iは、以下の特性を有するVueの成分を有する:成分で

data: function() { 
    return { 
     'orderBy': 'date_published:desc', 
     'page': 1, 
     'posts': [] 
    } 
}, 

updated() { 
    this.loadPosts(); 
}, 

methods: { 
    loadPosts: function() { 
     // code to AJAX in data 
     this.posts = response.data; 
    } 
} 

を、IはorderBypageの値を変更するボタンを有します。これらの値が変わると、私はupdated()メソッドを呼びたいと思っています。しかし、無限ループが発生するので、postsが変更されたときに呼び出されることは望ましくありません。

loadPosts()が呼び出されたとき、またはthis.postsが変更されたときに、コンポーネントが更新を停止するように通知する最適な方法は何ですか。

答えて

2

その後、

data: function() { 
    return { 
     'orderBy': 'date_published:desc', 
     'page': 1, 
     'posts': [] 
    } 
}, 

computed: { 
    controls(){ 
     return { 
      orderBy: this.orderBy, 
      page: this.page 
     } 
    } 
}, 
watch:{ 
    controls(){ 
     this.loadPosts() 
    } 
}, 
methods: { 
    loadPosts: function() { 
     // code to AJAX in data 
     this.posts = response.data; 
    } 
} 
計算されたプロパティを見て、あなたが計算されたプロパティに見たいと思うすべての特性を組み合わせます
関連する問題