【问题标题】:Why is el undefined and $el defined for this Backbone View?为什么为这个主干视图定义了 el undefined 和 $el ?
【发布时间】:2013-02-16 06:51:48
【问题描述】:

我很困惑为什么这里没有定义'''el''',而定义了$el。

CoffeeScript 实验背景如下:

类 FastTodo.Views.AddTodoItem 扩展 Backbone.View 模板:JST['todo_items/add_item'] el: $('#main') 渲染:-> console.log("渲染") console.log($("#main")) 控制台日志(@el) 控制台日志(@) $(@el).html @模板 初始化:-> @使成为()

在这种情况下如何渲染视图?

【问题讨论】:

    标签: backbone.js coffeescript


    【解决方案1】:

    尝试将元素声明重写为el: '#main'

    我认为这对你应该很有效。

    顺便说一句,根据您的控制台日志,jQuery 元素 ($el) 也是空的。您必须在标记完全加载之前声明视图。通过为 el 提供元素的选择器,您可以确保仅在文档准备好(加载)时才获取它。

    【讨论】:

    • 谢谢,确实 el: 'main' 有效,文档中也提到了它:backbonejs.org/#View-el - 但是,evt。有人知道为什么在某些代码中你会看到一个 el: $('#main') 表单?
    • 这是一个错误,除非与setElement 方法一起使用
    • el: $('#main') 在定义类之前只要元素 #main 存在于 DOM 中就可以正常工作。
    • 谢谢,这确实是有道理的,但在我做的实验中,我有:$(document).ready -> FastTodo.initialize() 包装视图
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多