Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干。尝试初始化视图时发生Layoutmanager错误_Javascript_Backbone.js_Backbone Views_Backbone Layout Manager - Fatal编程技术网

Javascript 主干。尝试初始化视图时发生Layoutmanager错误

Javascript 主干。尝试初始化视图时发生Layoutmanager错误,javascript,backbone.js,backbone-views,backbone-layout-manager,Javascript,Backbone.js,Backbone Views,Backbone Layout Manager,我正在尝试使用backbone.Layoutmanager创建主干应用程序 我得到了这个毫无帮助的错误 Uncaught TypeError: Object.keys called on non-object 我从一个空html文件开始,我想将“appChrome”布局呈现到该文件中 <!doctype html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <

我正在尝试使用backbone.Layoutmanager创建主干应用程序

我得到了这个毫无帮助的错误

Uncaught TypeError: Object.keys called on non-object
我从一个空html文件开始,我想将“appChrome”布局呈现到该文件中

<!doctype html>
    <!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
    <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
    <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
    <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Enrollment Processing</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width">
        <link rel="stylesheet" href="styles/main.css">

        <!-- build:js scripts/vendor/modernizr.js -->
        <script src="bower_components/modernizr/modernizr.js"></script>
        <!-- endbuild -->
    </head>

    <body>

        <!-- build:js scripts/vendor.js -->
        <script src="bower_components/jquery/jquery.js"></script>
        <script src="bower_components/underscore/underscore.js"></script>
        <script src="bower_components/backbone/backbone.js"></script>
        <script src="bower_components/layoutmanager/backbone.layoutmanager.js"></script>
        <!-- endbuild -->

        <!-- build:js scripts/app.js -->
        <script src="scripts/app.js"></script>
        <script src="scripts/router.js"></script>
        <script src="scripts/templates.js"></script>
        <script src="scripts/views/appChrome.js"></script>
        <!-- endbuild -->
    </body>
</html>
一些魔法开始在路由器中发生

/*global enrollmentProcessingApp, Backbone*/

enrollmentProcessingApp.Routers = enrollmentProcessingApp.Routers || {};

(function () {
    'use strict';

    enrollmentProcessingApp.Routers.AppRouter = Backbone.Router.extend({
        routes: {
          ''            : 'default_route'
        },

        initialize: function(){
            appChrome = new enrollmentProcessingApp.Views.AppChromeView();

        },

        default_route: function(){
            console.log("default route called");
        }
    });

})();
它是初始化函数中抛出错误的那一行

appChrome = new enrollmentProcessingApp.Views.AppChromeView();
这是AppChromeView视图。同样很简单

/*global enrollmentProcessingApp, Backbone, JST*/

enrollmentProcessingApp.Views = enrollmentProcessingApp.Views || {};

(function () {
    'use strict';

    enrollmentProcessingApp.Views.AppChromeView = Backbone.View.extend({

        template: JST['app/scripts/templates/appChrome.ejs']

    });

})();
如您所见,我正在使用JST。这个模板也非常简单

<p>Hello World</p>
你好,世界


我到底做错了什么?

这是由下划线引起的错误。最近他们打破了落后的兼容性,而没有真正关心用户。。。所以像这样的错误开始发生了

解决方案? -您可以将下划线还原为1.4.3(或更早版本)
-您可以从
主分支使用最新的LayoutManager,也可以等待0.9.3版(即将发布)。(相关问题:)

西蒙的回答为你解决了问题吗?如果我们能解决这个问题就太好了。@tbranyen我最终放弃了布局管理器,选择了木偶,所以我不知道这是否能回答这个问题。我是否应该以某种方式标记此问题?我认为此问题已在下划线#1.6.0中修复。我也有同样的问题,从1.5.3升级。到1.6.0。我认为这个问题在下划线#1.6.0中得到了解决
<p>Hello World</p>