TextFieldView似乎并没有被加载

问题描述:

我试图从SC.TextFieldView得到任何结果,但很可惜,它返回undefined所有的时间。所有其他视图类似乎都在工作。TextFieldView似乎并没有被加载

+0

我们展示的代码。您应该将文本字段的值绑定到控制器。 – hvgotcodes 2011-06-04 15:26:59

+0

甚至连基本的操作就像在Firebug控制台探查SC.TextFieldView,返回“未定义” – xantrus 2011-06-04 17:01:22

+1

@xantus具体是什么你在干什么......不能帮助你没有代码 – hvgotcodes 2011-06-04 17:07:42

如果你开始一个新的SproutCore的模板项目,然后每默认只有core_foundation类被加载。这仅仅意味着那些在你的主SproutCore的构建文件中定义的依赖性:

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

在大多数情况下,非常有意义,因为模板视图系统,用SproutCore 1.5引入了不能很好地结合模板。尽管可以在“传统”的豆芽视图内使用模板视图,例如, 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的应用程序与桌面提供不同的控制,可能会造成混乱。尽管提供了路径以将现有桌面应用程序类似的应用程序转换为模板应用程序,但相反的方式尚未支持。

+0

哇,感谢全面的答案。 – xantrus 2011-06-05 07:13:23

+0

干得好,先生。 – pjmorse 2011-06-06 14:26:25

您需要在项目的构建文件添加基金会作为一个依赖:

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