2014-09-09 2 views
0

Я новичок в позвоночник, но я успешно смогли определить массив, как это на одном из моих моделей:Как получить доступ к этому массиву в магистрали?

buildMyArray: function() { 
    var self = this; 

    var myArray = {}; 

    window.myLibrary.getStuff('myParameter', function(myStuff) { 
     for (var myKey in myStuff) { 
      if (myStuff.hasOwnProperty(myKey)) { 
       var myValue = myStuff[myKey]; 
       myArray[myKey] = myValue; 
      } 
     } 

     self.set({ myArray: myArray }); 
    }); 
} 

Однако, как я могу получить доступ к массиву из других свойств? Другими словами, я хочу сделать что-то вроде этого:

checkArrayStuff: function(arrayKey) { 
    //loop through myArray and check value for arrayKey. 
    //var myArray1 = self.get(myArray); 
    //var myArray2 = this.get(myArray); 
    //var myArray3 = myArray; 
    //var myArray4 = this.myArray; 
    //var myArray5 = self.get('myArray'); 
    //var myArray6 = this.get('myArray'); 
    var myArray7 = self.myArray; 

    var can = myArray7[arrayKey]; 
    return can; 
} 

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

+0

Я не знаю, позвоночник, но это будет любая помощь? http://stackoverflow.com/questions/11521788/how-to-get-array-element-from-model-in-backbone-js – jbutler483

+0

Использование 'get' для доступа к атрибуту model должно работать. Нам нужен больше контекста. –

ответ

0

Я думаю, вы должны сделать это

checkArrayStuff: function(arrayKey) { 
    return this.get('myArray')[arrayKey]; 
} 
+0

Нет, «this.get ('myArray')« undefined », поэтому вызов [arrayKey] в неопределенном объекте вызывает исключение. – WEFX

+0

Вы сами строите мой массив? Кроме того, что такое 'myLibrary.getStuff', это async? Если это возможно, нам может понадобиться ввести некоторые события. – josephnvu

+0

Моя реальная проблема была правильной последовательности, связанной с асинхронными проблемами, но спасибо. – WEFX

0

this.get('myArray') должен работать но это выглядит как ваш window.myLibrary.getStuff функции асинхронно. Это означает, что myArray не будет установлен до тех пор, пока не вернется buildMyArray. Если вы дадите нам больше контекста, мы сможем сделать лучшую рекомендацию о том, как решить эту проблему, например, когда buildMyArray вызывает checkArrayStuff после того, как он выполнил .set (..) или имеет buildMyArray, возвращает обещание

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