Backbone.js el 不工作

2024-05-10

App.Views.VideoView = Backbone.View.extend({
    initialize: function() {
        _.bindAll(this, 'render');
        this.model = this.options.model;
        this.render();
    },
    render: function() {
        JST.video({
            model: this.model
        });
        return this;
    }
});

App.Views.PlayListView = Backbone.View.extend({
    el: $("#playlistWrapper"),
    initialize: function(videos) {
        _.bindAll(this, 'render');
        this.modelViews = $.map(videos.models, function(model, i) {
            return new App.Views.VideoView({
                model: model
            });
        })
        this.render();

    },
    render: function() {
        var that = this;
        $(this.el).clear();
        $.each(this.modelViews, function(i, modelView) {
            $(that).el.append(modelView.render().el);
        });

        return this;
    }
});

我总是低于错误

$(this.el).clear is not a function
[Break On This Error] $(this.el).clear(); 

看来我的 PlayerListView 是空的。

我有一个带有 id playlistWrapper 的 div。

如果我对 playlistWrapper 使用 jquery 选择器,它会给出正确的元素。

我究竟做错了什么。


我在这方面有点晚了,但问题是你在加载 DOM 之前指定了一个 jquery 选择器。

主干对象是通过传递给扩展方法的对象文字来定义的。例如,以下内容在功能上是相同的:

MyView = Backbone.View.extend({
  el: "#foo"
});

var viewObj = {el: "#foo"};
MyView2 = Backbone.View.extend(viewObj);

对象字面量中键/值对右侧的值会立即被解析并执行。这意味着 jQuery 选择器用于el将在声明后立即解析,而不是在实例化视图时解析。很可能,您的应用程序中包含了 javascript 文件,并且在加载 DOM 之前下载了该文件,因此 jquery 选择器无法找到您所引用的元素。

您可以采取多种措施来解决此问题。

  • 你可以打电话$(this.el)每当你需要使用该元素时
  • 你可以设置this.el在视图初始值设定项中
  • 你可以设置{el: $("#whatever")}作为视图构造函数的参数,假设视图是在 DOM 加载后构造的
  • 您可以使用 javascript 模块模式将视图和其他主干对象的定义推迟到 DOM 加载之后
  • 可能还有一些我目前没有想到的其他选择
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Backbone.js el 不工作 的相关文章

  • Backbone 中仅限客户端的属性

    我有一个相当通用的模型和该模型的集合 见下文 我正在将其作为一系列视图的基础 在几个视图上 选择其中一个模型会生成操作 通过 selected 属性 并且我需要能够仅在客户端跟踪选择 然而 在 Backbone 中似乎没有干净的方法来做到这
  • 如何将属性传递到 Backbone 视图?

    我正在使用 Backbone v1 0 0 开发我的应用程序 在开始工作期间 现在已经更新到 v1 1 0 所以在我以前能做的地方 var myView new MyView hash something 并访问hash在视图内部使用 th
  • 一次保存多个 Backbone 模型

    我有一个包含大量模型的 Backbone 集合 每当在模型上设置特定属性并保存它时 就会触发大量计算并重新渲染 UI 但是 我希望能够同时在多个模型上设置属性 并且只有在全部设置完毕后才进行保存和重新渲染 当然 我不想为一项操作发出多个 h
  • 未捕获的类型错误:无法调用 null 的方法“替换”

    如果我在 Chrome JS 控制台上输入 template pranks list html 它也可以工作 gt gt template pranks list html function a return e call this a b
  • 带有通配符的主干事件

    有没有办法监听命名空间的所有事件 所以当我听到这样的事件时 app vent on notification id function type console lof type 它将监听所有这样的事件 app vent trigger no
  • 保护我的 Node.js 应用程序的 REST API 安全?

    我可以在 REST API 上获得一些帮助 我正在编写一个 Node js 应用程序 它使用 Express MongoDB 并在客户端使用 Backbone js 在过去的两天里 我一直在努力解决所有这些问题 但运气不佳 我已经查过了 保
  • 如果 cookie 未发送到服务器,则可以安全地将访问令牌存储在客户端 cookie 中

    我正在开发一个主干应用程序 其中包含 Laravel 后端的 REST api 这意味着我使用从社交媒体 例如 Facebook Google 等 收到的访问令牌对每个请求进行身份验证 我的计划是存储用 Javascript 生成的客户端
  • 主干表视图消耗行视图 - 如何构造?

    我有一组模型希望在表格视图中呈现 每个模型应由表中的一行表示 并且该行应使用模板生成 我应该能够将事件处理程序附加到该行 例如单击 在事件发生时发出有关与该行关联的模型的一些特定信息 我见过类似的事情的一种常见方法是将每一行分解到它自己的视
  • 使用 Backbone-Relational 实现多对多关系

    我有一个简单的应用程序 它定义了两个类 一个Person and a PersonGroup 其中存在多对多关系 一个人可以没有组 或者被分配到所有组 以及介于两者之间的任何组 backbonerelational org 上的示例建议对多
  • Backbone js 并使用 fetch() 用数据填充模型

    我正在 Backbone js 中工作 并尝试使用 fetch 用数据填充模型 问题是提取似乎有效 但我的模型没有填充数据 代码片段 Backbone emulateHTTP true Backbone emulateJSON true C
  • 车把模板的文件扩展名

    我更改了车把模板的扩展名 并在调用 handlebarjs 编译函数的函数中引用了相同的扩展名 它工作得很好 没有任何问题 但我很好奇是否还有其他人尝试过 如果您认为这可能会因任何原因导致问题 请告诉我 出于某种原因 我觉得扩展名 hand
  • 依赖注入与托管依赖关系与全局对象

    我正在 Javascript BackboneJS 一个 MVC 框架 RequireJS 框架中工作 但这个问题有点 OO 通用 首先让我解释一下 在 Backbone 中 您的视图是传统视图和控制器的混合 而您的 HTML 模板是传统的
  • 需要帮助了解主干中嵌套视图的基础知识

    我一直在阅读有关backbone js 中嵌套视图的大量内容 并且了解其中的很多内容 但仍然令我困惑的一件事是 如果我的应用程序有一个 shell 视图 其中包含页面导航 页脚等子视图 这些子视图在使用应用程序的过程中不会改变 那么我是否需
  • 使用 Rivets.js 迭代 Backbone.js 模型的集合?

    我在用着铆钉 js http rivetsjs com 对于 Backbone 项目中的两个双向数据绑定 并且希望实现迭代绑定 文档表明迭代绑定是可能的 但没有可用的示例 我正在使用一个简单的 Rails API 将 JSON 发送到客户端
  • 覆盖骨干模型更改事件

    我认为我想做的事情很简单 我只是不知道该怎么做 当我的模型属性之一发生更改以便将一些数据传递给事件处理程序时 无论更改是值的增加还是减少 我想触发我自己的事件 基本上我希望我的处理程序在视图中执行此操作 handler function i
  • 对周围的所有 Node JS 框架/库等感到困惑 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我感觉有点困惑 有很多 Node js 相关 东西 的框架 有人能给我一个概述吗 以下库 框架 其他内容如何相互关联 交互 其中包括什么或
  • 每次分页获取后将数据附加到同一集合

    我正在尝试使用主干填充 Instagram 图像 我基本上有以下3个模型 用户模型存储与 Instagram 相关的所有用户信息 App Models User Backbone Model extend defaults id acces
  • MarionetteJS:应用程序区域与布局[重复]

    这个问题在这里已经有答案了 我正在阅读最新版本 2 3 0 的文档 它说应用程序区域现已被弃用 应用领域 警告 已弃用 此功能已弃用 而不是使用 应用程序作为视图树的根 您应该使用布局 看法 要将布局视图的范围限制为整个文档 您可以设置 它
  • 如何克隆骨干集合

    有没有办法轻松克隆 Backbone Collection 我想知道为什么没有像模型那样的内置方法 我的问题是我有一个模型包含一组孩子 当我克隆模型时 我仍然有子项的集合 但只有它们的默认值 最简单的方法 var cloned new Ba
  • 如何重载比较器以使用 UTF-8 和不同区域设置进行排序

    我有一个数据集合 Alphabet Zend wiczenia 结果collection sort I get Alphabet Zend wiczenia 如何超载comparator使用 UTF 8 和不同的语言环境进行排序 你需要设置

随机推荐

  • 如何将数字格式化为货币字符串

    我想用 JavaScript 格式化价格 我想要一个需要一个函数float作为参数并返回string格式如下 2 500 00 我怎样才能做到这一点 国际数字格式 https developer mozilla org en US docs
  • 如何在 Swiftui 中使列表项行内的按钮不可点击?

    有没有办法让列表的整行都不可点击 我正在尝试使按钮行上只有按钮可单击 正如您所看到的 如果我尝试单击按钮行中的任何位置 无论是按钮本身 还是按钮周围的空白区域 它都会将其视为点击 有没有办法让您只能单击按钮本身 而不能单击按钮周围的白色间距
  • 为格子中的每个面板添加不同的独特标签

    很清楚如何在格子中标记面板 https stackoverflow com questions 8508269 how to label panels in lattice using panel text or ltext论据 但是 如果
  • asp.NET 2.0网站无法访问App_Code中的类

    将我的网站部署到服务器后 我在访问课程时遇到问题 请注意 这是一个网络Site不是网络应用 错误是 编译器错误消息 CS0246 找不到类型或命名空间名称 Order 是否缺少 using 指令或程序集引用 版本信息 Microsoft N
  • 获取动态图像的宽度和高度

    我有一个img嵌入隐藏标签内div 当用户单击具有图像名称的动态超链接时 图像必须显示在模式窗口中 为了将 div 定位在模态窗口内 需要图像高度 但是当点击超链接后 src被分配 高度为0 所以图像不能在中间对齐 请帮助我在浏览器中显示图
  • 将 Python 中创建的 pandas 数据框插入 SQL Server

    如前所述 我在 Python 中创建了一个数据集合 40k 行 5 列 我想将其插入 SQL Server 表中 通常 在 SQL 中我会做一个 select into myTable from dataTable 调用来执行插入 但是 p
  • 什么是悲观主义?

    该问题有评论可以使用C 11的吗auto提高性能 https stackoverflow com questions 32510183 can the use of c11s auto improve performance这获得了很多选票
  • 从 CSV 输入 Python 中查找最后一行

    我没有真正找到与我的问题相关的示例 因为我不了解 Pandas 所以我将其发布在这里 如果不清楚或已经得到答复 请告诉我 我有一个 CSV 输入 我像这样导入 def import csv csvfilename data with ope
  • 生成 C / C++ 代码时表达式的结合性和优先级?

    我编写了一个生成 AST 的基本编译器 正确考虑了表达式中运算符的优先级 但是 在执行代码生成以生成 C 代码时 我不确定如何处理括号的使用 对于这个表达式 A B c AST如下 A B C 应该正确生成包含括号的前一个表达式 但是如果第
  • C#中的FsCheck:生成形状相同的二维数组列表

    假设我正在编写一些用于视频分析的代码 这是 Video 类的简化版本 public class Video public readonly int Width public readonly int Height public readon
  • 一种简单、干净的方式来切换/交换视图?

    我已经看了几个来源 但我仍然很困惑 我想创建一个具有多个视图的应用程序 只有标准视图 没有表视图或其他任何内容 我可以在其中单击每个视图上的按钮来访问其他视图 我已经看到了多种方法来做到这一点 但对我来说唯一有意义的方法是让应用程序委托负责
  • 在 ionic 中从 Base64 打开 pdf

    因此 我将 Jasper 报告转换为 pdf 然后在 REST 控制器中转换为 base64 我该如何将其传输到我的 ionic 3 应用程序 我研究了 Ionic Native Document Viewer 但为了做到这一点 我需要将文
  • Java:带有 unicode 字符的 String.toCharArray()

    我知道 char 不能包含 Unicode 字符 例如 char c u1023 那么我该怎么做 String s ABCDEFG u1023 char c s toCharArray 出于性能原因 我想将 s 转换为 CharArray
  • 枚举和 Clojure

    在Java C世界中 人们经常使用枚举 如果我使用的是使用枚举的 Java 库 我可以在它们和关键字之间进行转换 例如 使用 java lang Enum valueOf e aget Ljava lang Enum e getEnumCo
  • R 中使用 randomForest 进行内存高效预测

    TL DR我想知道使用基于大型数据集 数百个特征 数十万行 构建的随机森林模型执行批量预测的内存有效方法 Details 我正在处理一个大型数据集 内存中超过 3GB 并且想要使用以下方法进行简单的二进制分类randomForest 由于我
  • Phantom JS 50% 的时间失败

    我搜索一个文本框 然后尝试用字符串填充它 这是代码 var fname driver FindElement By Name iFirstName 50 if fname null do System Threading Thread Sl
  • python:获取上两层目录

    好吧 我不知道模块在哪里x是 但我知道我需要向上两层目录的路径 那么 有没有更优雅的方法 import os two up os path dirname os path dirname file 欢迎提供适用于 Python 2 和 3
  • 为使用 conda 安装的仅标头库设置包含路径

    最近有人建议我作为包管理器查看 conda 不幸的是 我没有成功地找到如何让我的编译器找到与 conda 安装的仅标头库 理想情况下 我希望根本不必手动指定编译器的路径 上下文是我来自 macOS 上的自制软件 它会在正确的位置创建符号链接
  • jooq 的限制和偏移量问题

    我已将 jooq 与 spring 集成 对于对数据库 MySQL 的所有类型的查询 我使用 spring 的 JDBC 模板 这里使用 jooq 库生成 sql 查询以传递给 jdbc 模板 尽管我的其余查询工作正常 直到我向查询添加限制
  • Backbone.js el 不工作

    App Views VideoView Backbone View extend initialize function bindAll this render this model this options model this rend