2016-09-08 48 views

答えて

3

thisは現在の実装では定義されていないため、コードが機能しません。

これを試すことができますか?

handleClick(userid){ 
    var self=this; 
    axios.get(
    "http://localhost:4000/user/"+userid+"/items.json") 
    .then(function (response) { 
     self.buildhtml.bind(response) // would work 
     dispatch(self.buildhtml.bind(response)) //wont work 
    }) 
} 

    buildhtml(response){ 
    console.log("m called") 
    } 

ここでは、あなたがそれを自分に変更しても、上記の作業はありません。あなたはディスパッチを使用しようとしています。発送の際には、アクションを渡す必要があります。。 Reducersは状態とアクションをパラメータとして受け取り、どのアクションが渡されたかに基づいて状態を更新します。

アクションは、オブジェクトまたは関数を返すことがあります。 reduxのコンセプトを一度ご覧ください。これはアクションが派遣されるべき方法ではありません

+0

は働いていなかった:( – ashwintastic

+0

を一度あなたのコンポーネントを共有することができますか?フィドルを作成し、リンクを共有する? –

+0

このリンクをチェックしてください[フィドルリンク](https://jsfiddle.net/ob1c0aye/1/) – ashwintastic

1

Vue.jsaxiosと使用すると、私もこの問題を抱えましたが、これが私が解決した方法です。

let vue = new Vue({ 
el:#<element>, 
methods:{ 

    method1() 
    { 
axios.post('<url>',{<data>}) 
.then((res) => { 
    this.method2(res) // method call to method2 
    }) 
.catch((err) => { <call> });  
    },//method1 end 

method2(res){ 
// statements 
} 

} 
}); 

thisを参照してください。

関連する問題