私は、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は関数ではありません」というメッセージが常に表示されます。誰かがそれについて私を助けることができますか? ここでクラス構文を誤用していませんか? 私の目的は、Paginator の状態を Paginator オブジェクト (インスタンス) にカプセル化することです。起動時に、HTTP エンドポイントである「ルート」への AJAX 呼び出しを介して行われるいくつかの初期化を行いたいと考えています。
ありがとう