【发布时间】:2013-10-10 00:11:57
【问题描述】:
我们正在使用木偶,并且我们正在为 $(document).ready() 函数中的模板中的元素连接动作。我想知道是否有一种首选的方式来做到这一点 - 即将它移动到模型中或应用程序范围内的某个地方。
简化示例
<script type="text/template" id="menu">
<a href="javascript:void(0)" class="index-link">
</script>
MyApp.module("Entities", function (Entities, MyApp, Backbone, Marionette, $, _) {
Entities.MenuModel = Backbone.Marionette.Model.extend({});
});
MyApp.module("Views", function (Views, QaApp, Backbone, Marionette, $, _) {
Views.MenuView = Backbone.Marionette.ItemView.extend({
template: "#menu"
});
});
$(document).ready(function() {
$(window).load(function() {
$("html, body").animate({ scrollTop: $(document).height() }, 750);
});
$(".index-link").on("click", function(e) {
$.ajax({
url: "/someurl",
type: 'POST',
contentType: 'application/json; charset=utf-8',
success: function (result) {
if (result.Status == false)
console.warn(result.Message);
},
error: function (result) {
console.warn(result.Message);
}
});
});
});
在这个例子中,我可以看到窗口滚动功能与我的模型无关的地方,所以看起来没问题,但我的模板中的元素触发的操作不应该在相关视图内,尤其是如果成功函数可能会返回我的模型需要的数据?
感谢收看!
【问题讨论】:
标签: marionette