我正在尝试David Sulc对Marionette.js(Backbone.js)的温和介绍几乎在第一次练习中,我遇到了一个奇怪的问题。当我在chrome或firefox中运行代码时,我在控制台中看不到任何错误,但显然应用程序尚未启动(否则,由marionette呈现的文本应该是可见的)。同样," console.log"命令在控制台窗口中没有显示响应。控制台绝对是空白的。没有错误,没有警告。请帮忙。
这是代码。请让我知道我到底做错了什么。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" >
<title>Marionette Test Contacts</title>
<link rel="stylesheet" href="assets/css/bootstrap.css" />
<link rel="stylesheet" href="assets/css/application.css" />
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<span class="brand">Contact manager</span>
</div>
</div>
</div>
<div id="main-region" class="container">
<p>Content to hide when app starts.</p>
</div>
<script type="text/template" id="static-template">
<p>This is generated by Marionette app.</p>
</script>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://raw.github.com/douglascrockford/JSON-js/master/json2.js"></script>
<script src="http://underscorejs.org/underscore.js"></script>
<script src="http://backbonejs.org/backbone.js"></script>
<script src="http://marionettejs.com/downloads/backbone.marionette.js"></script>
<script type="text/javascript">
var ContactManager=new Marionette.Application();
ContactManager.on("initialize:after", function(){
console.log("ContactManager has started!");
var staticView=new ContactManager.StaticView();
ContactManager.mainRegion.show(staticView);
});
ContactManager.start();
</script>
</body>
</html>
答案 0 :(得分:2)
我相信你正在混合两种不同版本的木偶的语法
如果您正在使用start()
,请尝试:
ContactManager.on("start", function(){});
根据文档,事件是:
- &#34;前:启动&#34; / onBeforeStart:在应用程序启动之前和执行初始化程序之前触发。
- &#34;开始&#34; / onStart:应用程序启动后和执行初始化程序后触发。
https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.application.md