如果有人可以帮我解决这个问题,我将不胜感激。我正在关注在线指南,对Sproutcore来说是一个新手。我创建了一个“HelloWorld”项目并生成了HelloWorld.appController。在appController中,我声明了一个名为sayHello的函数。当我刷新localhost:4020 / hello_world上的网站时,firebug显示错误,我一直在网上搜索此问题并且没有找到任何答案。我已经清理了浏览器(FF)缓存几次而没有运气.Firebug报告说“sayHello”功能缺少“}”,这是不正确的。如果我评论sayHello函数并查询appController的“greeting”变量,我可以查找它。一旦我将sayHello函数重新放入,“greeting”变量就会从我的视图中消失,并且firebug会抱怨。谢谢你的帮助。
属性列表后错误:丢失} sayHello:function(){ app_co ... 0236609(第21行,第2栏)
这是appController代码:
// ==========================================================================
// Project: HelloWorld.appController
// Copyright: @2012 My Company, Inc.
// ==========================================================================
/*globals HelloWorld */
/** @class
(Document Your Controller Here)
@extends SC.Object
*/
HelloWorld.appController = SC.ObjectController.create(
/** @scope HelloWorld.appController.prototype */ {
// TODO: Add your own code here.
greeting: "HEY NOW!!!"
//FUNCTION SAYHELLO
sayHello: function(){
var currentGreeting = this.get('greeting');
var newGreeting = (currentGreeting === 'Hello World!') ? 'I am on SproutCore!' : 'Hello World!' ;
this.set('greeting', newGreeting);
}
});
答案 0 :(得分:2)
此错误几乎总是意味着您在定义了某个属性后错过了逗号。在这种情况下,它是您的greetings
属性。
只需在行尾添加一个逗号就可以了。
另外,快速说明,SproutCore最近经历了一些变化,“SproutCore 2”分裂成了自己的项目EmberJS。它们都有很多相同的基础和功能,所以开始使用它们应该让你很好地了解它们是如何工作的,除了模板视图在Ember中比在SproutCore中更突出。