2011-10-17 51 views
0

是否可以从SproutCore灯具内部定义一个功能?例如,如果我想要一个数组控制器来改变应用于依赖于选择的对象的功能。我试着在模型如下指定属性:在SproutCore灯具中定义功能

func: SC.Record.attr(Object) 

,并在灯具如:

{guid: 'tool-0', 
func: function(){ 
    $('domObject').append('message'); 
} 
} 

,但我得到:

Uncaught TypeError: Property 'func' of object App.Tool({guid: tool-0 , func: function() { ... }}) READY_CLEAN is not a function 

是我的执行问题或我的方法在这里?我并不擅长用JavaScript开始,也没有关于使用Sproutcore的大量信息,所以我很努力地判断我是否正确使用它。

+0

你想要做什么,修改模型对象内的视图? – hvgotcodes

+0

目前,我正在尝试在DOM中的HTML5 canvas元素上执行函数,并根据ArrayController的选择执行该函数。想想矩形工具,椭圆工具等。但是,我希望函数最终被存储在数据库或类似的地方,因此我使用商店。我想能够调用App.toolController.get('content')。func();或者类似的,如果可能。 – Jim

+0

另外,如果我调用像App.Tool.FIXTURES [0] .func()这样的函数,它工作正常,但显然这是一个不好的方法。一旦我试图从ArrayController或ObjectController访问对象,问题似乎就会出现。 – Jim

回答

0

无法在灯具文件中添加功能。灯具仅用于在应用程序开发阶段保存数据。

如果要添加任何操纵每个对象的现有数据或属性的函数,请在Model中定义这些函数。