Spine.js Динамические модели // Создание динамического класса Coffeescript - PullRequest
0 голосов
/ 21 января 2012

Дамы и господа,

Короткая версия: Попытка динамически создать класс модели позвоночника.По сути, я получаю JSON с сервера, который сообщает мне, как называется модель и каковы ее атрибуты, а затем я попытаюсь создать класс, производный от spine.model.

Поскольку Spine.js используетКласс Coffeescript, который настраивается перед созданием экземпляра. Я хотел создать его динамически - который работает, только некоторые из унаследованных функциональных возможностей - нет.

Проблема: в то время как унаследованные функции работают, выборка не работает, и кажетсянет способа задать имя класса.

Код: http://jsfiddle.net/thomasf1/eqksA/5/

Удивительно, как далеко вы можете нажать Coffeescript.Заранее благодарим за любой ключ к разгадке этой сложной загадки.

1 Ответ

1 голос
/ 21 января 2012

Я не совсем уверен, как работает Spine.js, но просматривая ваш код, я заметил, fetch - это метод класса CDModel, и именно так вы используете его в первом тесте, где вы получаете «статическое сообщение». , 'но для динамического класса вы пытаетесь использовать fetch в качестве метода экземпляра.

Для ясности я изменил имя на DynamicClass, но я сделал следующее:

// The class name is DynamicClass
DynamicClass = gen ("Testclass")
// ... more code ...
DynamicClass.bind("refresh change", (item) -> $("#element2").html DynamicClass.first().message )

params = type: 'POST', data: 'json=[{"message":"Dynamic msg"},{"message":"another message"}]'
DynamicClass.fetch(params)

Я заметил, что это работает, только когда вы комментируете вызов первого теста, но не знакомы с Spine.js. Я не совсем уверен, почему это происходит.

Надеюсь, это поможет. Сандро

...