Firebug在控制器Sproutcore 2中显示错误

时间:2012-02-26 06:39:40

标签: sproutcore sproutcore-2 sproutcore-controllers

如果有人可以帮我解决这个问题,我将不胜感激。我正在关注在线指南,对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);
  }
});   

1 个答案:

答案 0 :(得分:2)

此错误几乎总是意味着您在定义了某个属性后错过了逗号。在这种情况下,它是您的greetings属性。

只需在行尾添加一个逗号就可以了。

另外,快速说明,SproutCore最近经历了一些变化,“SproutCore 2”分裂成了自己的项目EmberJS。它们都有很多相同的基础和功能,所以开始使用它们应该让你很好地了解它们是如何工作的,除了模板视图在Ember中比在SproutCore中更突出。