Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class Coffeescript类、方法和实例变量_Class_Variables_Coffeescript - Fatal编程技术网

Class Coffeescript类、方法和实例变量

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(

我将在Coffeescript中实现某种Pagniator类。Paginator类应包含有关currentPage、maxPages、columnNames等的信息

所以我的第一个方法是:

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输出,您很容易看到这一点。

谢谢,这就是问题所在,这就是问题所在