Class Coffeescript类、方法和实例变量
我将在Coffeescript中实现某种Pagniator类。Paginator类应包含有关currentPage、maxPages、columnNames等的信息 所以我的第一个方法是:Class Coffeescript类、方法和实例变量,class,variables,coffeescript,Class,Variables,Coffeescript,我将在Coffeescript中实现某种Pagniator类。Paginator类应包含有关currentPage、maxPages、columnNames等的信息 所以我的第一个方法是: class Paginator currentPage = -1 rowCount = -1 pageSize= -1 columnNames = null constructor: (@config) -> setup: -> @config.ajax(
class Paginator
currentPage = -1
rowCount = -1
pageSize= -1
columnNames = null
constructor: (@config) ->
setup: ->
@config.ajax(
cache: false
type: "GET"
contentType: "application/json"
dataType: "json"
success: (data) =>
this.configurationReceived(data)
)
configurationReceived: (data) =>
this.storeConfig(data)
this.setupGUI()
this.loadPage(1)
$('.pagination ul li').click( ->
Paginator.loadPage($(this).text())
return false
)
storeConfig: (jsonData) =>
rowCount = jsonData['rowAmount']
pageSize = jsonData['pageSize']
columns = jsonData['columns']
return
@config是Play 2.0 Framework jsRoutes对象中的jsRoutes.controllers.xxx。
在页面加载时我会这样做
paginator = new Paginator jsRoutes.controllers.PlayerController.paginatorConfiguration()
paginator.setup()
但我总是听到“this.storeConfig不是一个函数”。有人能帮我吗?我是否误用了这里的类语法?我的目标是将分页器的状态封装在分页器对象(实例)中。在启动时,我想做一些初始化工作,这些工作是通过对HTTP端点“路由”的AJAX调用完成的
谢谢此处的缩进似乎有问题:
$('.pagination ul li').click( ->
Paginator.loadPage($(this).text())
return false
) # <---
因此,包含方法“storeConfig”定义的以下代码不是类的一部分,因此“this.storeConfig”不是函数
如果您将代码复制到coffeescript.org上的“Try coffescript”表单并检查JavaScript输出,您可以很容易地看到这一点。此处的缩进似乎有问题:
$('.pagination ul li').click( ->
Paginator.loadPage($(this).text())
return false
) # <---
因此,包含方法“storeConfig”定义的以下代码不是类的一部分,因此“this.storeConfig”不是函数
如果您将过去的代码复制到coffeescript.org上的“Try coffescript”表单并检查JavaScript输出,您很容易看到这一点。谢谢,这就是问题所在,这就是问题所在