在主干视图中定义变量的最佳实践
Best practice for defining variables in a Backbone view
我有一个主干视图,必须处理大量的逻辑。我正在使用require.js,我想知道创建变量的最佳方式是什么。我当前的设置是这样的。
define([
'jquery',
'underscore',
'backbone',
'pixi',
'tweenlite',
'easepack',
'app/models/tower-item-model',
'app/views/tower-item-view',
'app/templates'
], function($, _, Backbone, PIXI, TweenLite, EasePack, TowerItemModel, TowerItemView, Templates){
'use strict';
// ********* create view variables ************
var numberOfTowers = 1; // this is set by the icons in the top right of the view. Default is 1
var sectionWidth = 180;
var mmToPixelRatio = 180/300;
var currentWidth = 0;
var currentHeight = 0;
var currentDepth = 0;
var frameColourPressed = false;
var hiliteIntensity = 0;
var hiliteUp = true;
var hiliteIntervalID;
var TowerView = Backbone.View.extend({
id: 'tower-view',
className: 'tower-view',
我认为这些变量当前在全局命名空间中是正确的吗?如果是这样的话,我想这并不好。我这样设置了另一个视图应用程序创建了它的几个实例。我注意到一个变量对一个实例的改变会影响到所有的变量。
是否有一种更简单的方法来声明变量,使它们成为真正的实例变量?多谢
您可以简单地在视图类中添加变量
例如,var TowerView = Backbone.View.extend(
{
id: 'tower-view',
className: 'tower-view',
currentWidth : 0,
currentHeight : 0,
currentDepth : 0,
frameColourPressed : false,
setTowerHeight : function()
{
console.log(this.currentwidth);
}
});
这些被称为真正的类变量,它们在每个实例中是不同的。
相关文章:
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- 在控制器之间传递变量的最佳方式
- 在变量中保存值的最佳方法是在应用程序关闭后使用,然后使用apachecordova在android中重新启动
- 在jquery中设置多个全局变量的最佳方式
- 返回多个变量的 JavaScript 函数:数组与对象.最佳实践是什么
- 保存全局变量以供指令监视的最佳方法
- 将变量传递给AngularJS控制器,最佳实践
- 将全局配置变量传递到手把模板的最佳方式是什么
- 测试变量是否为数组的最佳方法
- 避免节点中全局变量的最佳实践
- 在没有ajax的情况下将多个变量传递到引用页面的最佳方式
- 创建静态(类)变量-最佳实践
- 传递变量:使用模块的最佳实践
- 在本地将单个变量传递给具有多个参数的函数的最佳方法是什么
- 条件变量赋值的最佳方法
- 这是检查变量是否被定义的最佳方法,而不是 null 并等于 “” 或其他任何内容
- 在 Javascript 中访问控制器变量的最佳方法是什么?
- 关联变量及其 ID 的最佳方式
- 缓存变量时,调用它的最佳方法是什么
- 创建用户可以在带有 php 或 JavaScript 的模板中使用的“变量”的最佳方式