0

如果有人可以帮助我解决此问题,我将不胜感激。我正在关注在线指南,并且对 Sproutcore 非常陌生。我创建了一个“HelloWorld”项目并生成了 HelloWorld.appController。在 appController 中,我声明了一个名为 sayHello 的函数。当我在 localhost:4020/hello_world 上刷新站点时,firebug 显示错误,我一直在网上搜索这个问题,但没有找到任何答案。我已经清理了几次浏览器(FF)缓存,但没有运气。Firebug 报告说“sayHello”函数缺少一个“}”,这是不正确的。如果我注释掉 sayHello 函数并查询 appController 的“greeting”变量,我就可以查到它。一旦我将 sayHello 函数放回原处,“greeting”变量就会从我的视图中消失,并且萤火虫会抱怨。

错误:在属性列表 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);
  }
});   
4

1 回答 1

2

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

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

另外,快速说明一下,SproutCore 最近进行了一些更改,并且“SproutCore 2”拆分为自己的名为 EmberJS 的项目。它们都有很多相同的基础和功能,因此开始使用其中任何一个都应该让您很好地了解两者的工作原理,除了 TemplateViews 在 Ember 中比在 SproutCore 中更突出。

于 2012-02-26T14:09:02.487 回答