質問: "testdata") { return; } alert("ここがコールバックになる予定"); } }, ``` alertが呼ばれることはありませんでした。 よく考えたら最後の文字が入力されたときに呼ばれてもフォーカスはまだ当たりっぱなしなので、当たり前でした...。 ### 補足情報(言語/FW/ツール等のバージョンなど) 言語:Vue.js 2.2.4
回答: ハマリポイントがいくつかありました。 * 入力を受け付けるイベントはchangeではなくinputです * 渡す側(親側)の方では必ずハイフンつなぎで小文字でプロパティを書いてください(Vueが守っているHTMLの仕様)。JSで受け取る側では自動的にキャメルケースに変換されます ということで動きが検証できたコードは下記になります。 ``` var child = { props: { testFnc: Function }, template: "", methods: { onChange: function(ev) { this.testFnc(ev.target.value) } } }; new Vue({ el:'#vue_contents', methods:{ setTest: function(msg){ alert(msg); } }, components : { 'child':child }, }); ``` ``` ``` ただし、子から親へと値を伝達したいということであれば、emitを使うべきです。 あくまでも関数を渡すことは可能だということのみ、示しましたのでご留意ください。