モーダル ビューを作成し、すべてのモーダルが必要とする基本クラスを作成して、より具体的な機能のために拡張しようとしています。
PlanSource.Modal = Ember.View.extend({
isShowing: false,
hide: function() {
this.set("isShowing", false);
},
close: function() {
this.set("isShowing", false);
},
show: function() {
this.set("isShowing", true);
}
});
PlanSource.AddJobModal = PlanSource.Modal.extend({
templateName: "modals/add_job",
createJob: function() {
var container = $("#new-job-name"),
name = container.val();
if (!name || name == "") return;
var job = PlanSource.Job.createRecord({
"name": name
});
job.save();
container.val("");
this.send("hide");
}
});
私はそれをレンダリングします
{{view PlanSource.AddJobModal}}
そして、ビューテンプレートを持っています
<a class="button button-green" {{action show target=view}}>+ Add Job</a>
{{#if view.isShowing}}
<div class="modal-wrapper">
<div class="overlay"></div>
<div class="dialog box box-border">
<div class="header">
<p class="title">Enter a job name.</p>
</div>
<div class="body">
<p>Enter a name for your new job.</p>
<input type="text" id="new-job-name" placeholder="Job name">
</div>
<div class="footer">
<div class="buttons">
<a class="button button-blue" {{action createJob target=view}} >Create</a>
<a class="button" {{action close target=view}}>No</a>
</div>
</div>
</div>
</div>
{{/if}}
問題は、モーダル ダイアログのボタンをクリックすると、「action createJob」が見つからないというメッセージが表示されることです。createJob を基本 Modal クラスに配置すると機能するため、オブジェクトを正しく拡張していませんか。
修理済み
私のコードのどこかに問題がありました。名前がコピーされたため、再定義してメソッドを存在させていませんでした。