来自Backbone.Marionette的MarionetteJS示例。温柔的介绍不起作用

时间:2014-10-24 16:20:34

标签: javascript backbone.js marionette

我一直在读这本书我尝试了第一个例子,但它没有呈现模板,它只显示默认的文本。当我打开控制台时,应用程序ContactManager退出并初始化。

<!DOCTYPE html>

 <html lang="en">

   <head>

    <!--  <meta charset="utf-8"> -->

     <title>Marionette Contact Manager</title>

     <link href="./assets/css/bootstrap.css" rel="stylesheet">

     <link href="./assets/css/application.css" rel="stylesheet">

   </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>Here is static content in the web page. You'll notice that it gets

       replaced by our app as soon as we start it.</p>

     </div>



     <script type="text/template" id="static-template">

       <p>This is text that was rendered by our Marionette app.</p>

     </script>





     <script src="./assets/js/vendor/jquery.js"></script>

     <!--<script src="./assets/js/vendor/json2.js"></script>-->

     <script src="./assets/js/vendor/underscore.js"></script>

     <script src="./assets/js/vendor/backbone.js"></script>

     <script src="./assets/js/vendor/backbone.marionette.js"></script>



     <script type="text/javascript">



         var ContactManager = new Marionette.Application();



         ContactManager.addRegions({

           mainRegion: "#main-region"

         });



         ContactManager.StaticView = Marionette.ItemView.extend({

           template: "#static-template"

         });



         ContactManager.on("initialize:after", function(){

           var staticView = new ContactManager.StaticView();

           ContactManager.mainRegion.show(staticView);

         });


     ContactManager.start();

 </script>

2 个答案:

答案 0 :(得分:2)

尝试更改

ContactManager.on("initialize:after", function()

ContactManager.on("start", function()

答案 1 :(得分:1)

更新你的&#34;初始化:&#34;功能

ContactManager.addInitializer(function(){

    var staticView = new ContactManager.StaticView();

    ContactManager.mainRegion.show(staticView);

});

https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.application.md

由于