Использование глобальных переменных в backbone.js - PullRequest
6 голосов
/ 23 февраля 2012

Итак, первый вопрос, на который я не смог найти ответ.Может быть, это достаточная причина, чтобы задать свой первый вопрос.Извиняюсь, если ответ может быть найден вне области действия backbone.js.

В приложении backbone.js мне нужно иметь доступ к нескольким переменным в различных функциях, поэтому я должен использовать настройку некоторых глобальных переменных.

Мне интересно, является ли мое текущее решение приемлемым / хорошей практикой.Моя IDE (IDEA), кажется, думает, что это не так:

var MyModel = Backbone.Model.extend({

initialize:function(){
  var myGlobalVar, myOtherGlobalVar;//marked as unused local variable
},

myFunction:function() {          
      myGlobalVar = value;//marked as implicitly declared
      model.set({"mrJson": {"email": myGlobalVar}});
      model.save();
    });
  }
},

myOtherFunction:function() {          
      myOtherGlobalVar = otherValue;//marked as implicitly declared
      model.set({"mrJson": {"email": myGlobalVar, "other": myOtherGlobalVar}});
      model.save();
    });
  }
}
}

Я попытался объявить неявно объявленные глобальные переменные, но в результате они не были доступны из функции othe.

IsЕсть ли правильный способ обработки этих глобальных переменных в backbone.js?

1 Ответ

15 голосов
/ 23 февраля 2012

То, как вы в настоящее время объявляете переменные, они находятся в функции инициализировать область, а не объект MyModel область. Чтобы определить переменные как переменные модели (доступные для всех функций объекта), выполните:

var MyModel = Backbone.Model.extend({

myGlobalVar: null,
myOtherGlobalVar: null,

initialize:function(){
  console.log(this.myGlobalVar)
},
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...