2017-01-02 6 views
0

に渡されたフォームオブジェクトのメソッドを呼び出すことはできません子コンポーネントフォームオブジェクトのプロパティを問題なく参照できます。 console.log(this.form)また、フォームオブジェクト内のメソッドを返しますが、this.form.$method()を呼び出すと失敗します。は、私はこのチュートリアルを適用しようとしている子

これは私のルートにあります。これは、店舗呼び出すときUncaught TypeError: this.form.$post is not a functionをスローし、私のコンポーネントである

const app = new Vue({ 
    el: '#app', 
    data: { 
     form: new Form({ 
      //form data 
     }), 
    }, 
}); 

export default { 
    props: [ 
     'form', 
    ], 
    methods: { 
     store() { 
      this.form.$post(url); 
     }, 
    }, 
} 

これは私のフォームヘルパークラスである:

class Form { 
    post(url) { 
     return this.$http.post(url, { 
      //form data 
     }).then((response) => { 
      //success 
     }, (error) => { 
      //error 
     }); 
    } 
} 
+0

まず、 'url'は渡されておらず、' store() 'メソッドで定義されていません。 –

+0

ナー、それは単なる単純化です。私は実際の方法でURLを手動で入力しました。とにかく、私はちょうどあきらめてクラスを直接インポートしました。私はvueがオブジェクトにメソッドを渡してデータを渡すことにもっと関心があると思います。 – theslowblitz

答えて

0

あなたのメソッド名はpostですが、あなたは0123でそれを呼び出そうとしています。

は変更してみてください:

this.form.$post(url); 

へ:

this.form.post(url); 

・ホープ、このことができます!

関連する問題