2013-11-26 2 views
26

.: EDIT:. Если у вас такая же проблема, проверьте свою переменную инициализацию, я забыл про .javascript - Coffeescript & Backbone.js - TypeError: this._ensureElement не является функцией

Я получаю TypeError: this._ensureElement не является функцией и получил TypeError: this._reset не является функцией раз раньше, но я не могу воссоздать точную настройку для последнего.

У меня есть свои скрипты в правильном порядке:

<script src="js/components/jquery.js"></script> 
<script src="js/components/underscore.js"></script> 
<script src="js/components/backbone.js"></script> 
<script src="js/script.js"></script> 

Моя модель зарегистрированные до моей коллекции.

Это приложение для покупок.

#namespacing 

App = 
    Collection : {} 
    Model : {} 
    View : {} 

### 
MODEL 
### 

class ModelItem extends Backbone.Model 

    #default values 

    defaults: 
    name : 'Product Name' 
    quantity : 0 
    unit : 'kg' 

    #Increase or decrease the quantity 

    change_quantity : (type) -> 
    qty = @get 'quantity' 
    @set 'quantity', if type is 'increase' then ++qty else --qty 

### 
COLLECTION 
### 

class CollectionItems extends Backbone.Collection 

    model: ModelItem 

### 
VIEW 
### 

class ViewItems extends Backbone.View 

window.view = ViewItems() 
window.item = ModelItem() 
+0

На какой строке стоит ошибка? – Mathletics

ответ

58

Вам не нужен оператор new.

window.view = new ViewItems() 
window.item = new ModelItem() 
+8

Я ожидал некоторой глупой ошибки, я просто не ожидал, что это будет тупой. –

+4

Я сразу понял ответ, потому что я делал то же самое несколько раз;) –

+0

Боже, я чувствую себя глупо. Спасибо, что спасли меня так много времени! –

0

С кофе-скрипт, если вы используете хелперы Инициализировать представления, которые могли бы запустить в следующем:

@createSubView ViewClass 
    model: model 

Кофе-скрипт не будет жаловаться на какой-либо причине. Но выход js вызовет проблемы.

После устранения проблемы

@createSubView ViewClass, 
    model: model 

Я надеюсь, что это помогает. Это может быть билет для команды Coffee-Script ...

Смежные вопросы