2015-06-19 5 views
0

Я пытаюсь перенести старый код javascript/backbone на нашу новую систему, и я столкнулся с следующей ошибкой.ReferenceError: ProductStore не определен

ReferenceError: ProductStore is not defined 
ProductStore.Options = {}, 

ReferenceError: ProductStore is not defined 
ProductStore.type= "board"; 

Мой JS-файл выглядит следующим образом.

ProductStore.Options= {}, 
    function() { 
     "use strict", ProductStore.Options.Product = Backbone.Model.extend({ 
      //do something 
     }) 
    }(), 
    function() { 
     "use strict", ProductStore.Options.ProductView = Backbone.View.extend({ 
      //do something 
     }) 
    }() 

Нет других файлов js, поэтому мне интересно, что я делаю неправильно?

ответ

3

Ошибка говорит, что это все, вы не можете сказать:

ProductStore.options = {}

, если вы уже объявили ProductStore (и определил его как объект).

например.

var ProductStore = {}; 
+0

Таким образом, я изменил код ProductStore = {}; function() {и теперь я вижу следующую ошибку: SyntaxError: function statement требует имя –

+0

@CodeJunkie - Что? – Adam

+0

Я предполагаю, что мне нужно объявить объект ProductStore в начале моего js-файла, например var ProductStore = {}; функция() { "использовать строгий", ProductStore .Options.Product = Backbone.Model.extend ({После завершения этого, я получаю следующее SyntaxError: функция оператор требует имя \t функция() { –

0

Вы должны создать объект ProductStore JS первый:

var ProductStore = {}; 
0

Вы должны изменить ваш , с ;

var ProductStore = {}; 
0

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

var ProductStore = ProductStore || {}; 
+0

позвольте мне собрать все, что может помочь вам решить ваши проблемы - http://jsfiddle.net/ylokesh/a7ha9sjj/1/ –

+0

Это не «лучшая практика», если вы являетесь владельцем «ProductStore», и вы знаете, что вы 're define это в первый раз. – Adam

+0

@Adam - Да, вы правы. Но что, если это пространство имен используется в разных JS-файлах для сопоставления различных функций для магазина товаров. –

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