概念実証のデモに取り組んでおり、コンテンツ配列にアイテムを追加できるフォームビューを作成する必要があります。このビューを外部からロードしてから、ハンドラーを使用してコンパイルしています。送信メソッドを追加し、{{action}}バインディングを使用しましたが、送信ボタンをクリックするたびにページが再読み込みされます。私は何が欠けていますか?
//テンプレート
<form>
<div>
<label for="client">Client Name</label>
<input type="text" id="client" placeholder="Add client name" />
</div>
<div>
<button {{action "addClientSubmit" target="PM.addClientView"}}>Add Client</button>
</div>
<div>
<a href="#" {{action "closeWindow" target="PM"}}>close</a>
</div>
</form>
//ビューコード
PM.addClientView = Ember.View.create({
templateName: 'addClient',
classNames: 'overlay',
addClientSubmit: function(e){
e.preventDefault();
console.log('submitting add client form');
console.log(a,b,c)
}
});
//そして最後にこれが私がそれをページに追加する方法です
PM = Ember.Application.create({
loadView: function(view){
$.ajax({
url: viewPath,
success: function (template) {
if (!Ember.TEMPLATES[templateName]) {
Ember.TEMPLATES[templateName] = Ember.Handlebars.compile(template);
};
PM[view + 'View'].appendTo('body');
}
});
}
});
他のすべては機能しますが、送信ボタンをクリックするとページがリロードされます。私は何かを忘れていると確信していますが、それが何であるかを理解することはできません。