javascript - Backbone.js 设置

标签 javascript backbone.js

我很困惑,因为我一直在尝试了解如何设置 Backbone.js 项目。 This这就是我所拥有的,我只需要包含脚本,然后呢?这就是我迷失的地方,我很确定仅仅打开我创建的文件不会运行该项目,不是吗?另外,我正在关注 Thomas Davis 的视频教程,但该教程并未介绍如何设置 Backbone.js 或如何运行该项目。我注意到我们的 url 中的差异。我错过了什么?另外,如果你有一些适合像我这样的初学者的好 Material 。 tnx!

这是我正在使用的代码:

    <div id="page">
    </div>
    <script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
    <script>
        var View = Backbone.View.extend({
            el: '.page',
            render: function (){
                this.$el.html('Hello World');
            }
        });


        var Router = Backbone.Router.extend({
        routes: {
            '' : 'home'
            }
        });

        var view = new View();
        var router = new Router();
        router.on('route:home', function ()
        {
            view.render();
        });

        Backbone.history.start();
    </script>

</body>
</html>

最佳答案

设置主干

您应该在 html 中包含 undescore.jsjquery.jsbackbone.js,然后简单地运行该文件,就像普通网络应用程序。

如果您熟悉 apache,请将您的应用程序放在 Web 根目录中并像 http://localhost/my_app/ 一样访问。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <script src="js/underscore.js"></script>
        <script src="js/jquery.js"> </script>
        <script src="js/backbone.js"></script>
    </body>
</html>

here 下载 underscorejs并放入js文件夹中。

下载jquery here .

下载主干 here .

然后将主干函数放入外部 JavaScript 文件中,并将其包含在backbone.js 之后。

修复

您的代码有问题。您使用 id 定义了元素,但尝试使用类表示法进行访问。

所以替换,

var View = Backbone.View.extend({
        el: '.page',
        render: function (){
             this.$el.html('Hello World');
        }
});

与,

var View = Backbone.View.extend({
        el: '#page',
        render: function (){
             this.$el.html('Hello World');
        }
});

您必须使用el: '#page'

您应该在包含backbone.js之前包含依赖项。

所以替换,

<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>

与,

<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>

关于javascript - Backbone.js 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19020454/

相关文章:

javascript - ThreeJS r75 - TypeError : THREE. 动画不是构造函数

JavaScript 以及为什么大写字母有时有效有时无效

javascript - 多个 View 中出现 Backbone.js 验证错误

javascript - 如何在 Backbone 路由器之间共享 url?

javascript - 获取配置 JSON 的主干和最佳实践

javascript - 在javascript中向原型(prototype)和对象文字添加函数之间的区别

javascript - 等待所有 HTML 到 PDF 转换,然后再导出为 pdf

javascript - backbone.js 和 CORS

javascript - Jinja 和 javascript 语法冲突?

javascript - 在哪里编码以覆盖 backbone.sync