我目前正在研究 David Sulc 的优秀作品“Backbone.Marionette.js: A Gentle Introduction”,并且在模块上遇到了困难。使用当前的应用程序,我试图从 index.html 脚本访问名为“contacts.js”的模块中的 API,但是当我尝试运行应用程序时出现以下错误:
"Handler not found for 'contact: entities' "
我可以直接从 Chrome 中的控制台访问 API 并手动获取“联系人”信息,所以我认为这是一个加载顺序问题,在 app.js 加载时 API 可能不可用,但是加载顺序如下:
<script type="text/javascript" src="assets/js/vendor/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="assets/js/vendor/json2.js"></script>
<script type="text/javascript" src="assets/js/vendor/underscore-min.js"></script>
<script type="text/javascript" src="assets/js/vendor/backbone-min.js"></script>
<script type="text/javascript" src="assets/js/vendor/backbone.marionette.min.js"></script>
然后本地脚本如下:
<script type="text/javascript" src="assets/js/app.js"></script>
<script type="text/javascript" src="assets/js/entities/contact.js"></script>
最后两个脚本标签下方的脚本标签直接运行以下代码:
<script type="text/javascript">
... some view code
ContactManager.on("initialize:after", function(){
var contacts = ContactManager.request("contact: entities");
... some more code
</script>
开始 var contacts = ..... 的行是给我错误的行。任何帮助表示赞赏
我尽我所能确定我已经完全按照书中的内容编写了这个脚本。