似乎没有加载TextFieldView

时间:2011-06-04 13:34:24

标签: javascript sproutcore

我正在尝试从SC.TextFieldView获得任何结果,但是,它总是会返回undefined。所有其他视图类似乎都在工作。

2 个答案:

答案 0 :(得分:4)

如果启动一个新的sproutcore模板项目,那么默认情况下只加载core_foundation类。这意味着只有那些被定义为主sproutcore构建文件中的依赖项:

config :all, :required => "sproutcore/core_foundation", :theme => "sproutcore/empty_theme"

在大多数情况下,完全有道理,因为sproutcore 1.5引入的模板视图系统与模板结合使用效果不佳。虽然,可以在“传统的”sproutcore视图中使用模板视图,例如SC.ContainerView(有关详细信息,请参阅http://guides.sproutcore.com/using_handlebars.html#using-sc-templateview-inside-desktop-controls),您无法在模板视图中使用传统的sc桌面视图。

因此,在启动新模板项目时,桌面视图不包含在构建文件中。但是,默认情况下也不包括一些其他有用的sproutcore模块,例如ajax模块,数据存储区或状态图模块。如果要使用这些模块,则必须调整构建文件并包含这些模块。它可能看起来像那样

config :all, 
    :required => [ 
        "sproutcore/core_foundation",
        "sproutcore/datastore",
        "sproutcore/statechart",
        "sproutcore/ajax" ]
    :theme => "sproutcore/empty_theme"

包含特定模块或只是

config :all, :required => "sproutcore", theme => "sproutcore/empty_theme"

包含所有可用的sproutcore模块。如果您想使用提供的组件启动传统的sproutcore项目,请使用

# sc-init your-project

而不是

# sc-init your-project --template

这样,您将从一开始就使用正确的构建文件。当您从sproutcore开始时可能会感到困惑,但是应该意识到构建sproutcore模板应用程序与使用提供的桌面控件构建sproutcore应用程序不同。虽然提供了将现有桌面应用程序转换为模板应用程序的路径,但之后仍然不支持相反的方式。

答案 1 :(得分:0)

您需要在项目的Buildfile中添加基础作为依赖项:

config :all, :required => ["sproutcore/core_foundation", "sproutcore/foundation"]