Javascript RequireJS本地变量不匹配

Javascript RequireJS本地变量不匹配,javascript,requirejs,Javascript,Requirejs,有人能解释为什么会这样吗 我在一个没有依赖关系的RequireJS模块中。我试图创建一个表示视图状态的单例,以避免使用全局变量。但是由于某些原因,试图从视图变量检索属性的getter不匹配。有没有办法解释图像中发生了什么 视图已定义,并且viewName值已定义,但它不知何故未拾取view.mainView 看起来您试图检查视图[viewName]上是否定义了视图[viewName],但实际上您正在检查视图[viewName]是否具有真值y 试试这个: if(viewName in view)

有人能解释为什么会这样吗

我在一个没有依赖关系的RequireJS模块中。我试图创建一个表示视图状态的单例,以避免使用全局变量。但是由于某些原因,试图从视图变量检索属性的getter不匹配。有没有办法解释图像中发生了什么

视图已定义,并且viewName值已定义,但它不知何故未拾取view.mainView


看起来您试图检查
视图[viewName]
上是否定义了
视图[viewName]
,但实际上您正在检查
视图[viewName]
是否具有真值y

试试这个:

if(viewName in view) {
    view[viewName] = $view;
} else {
    throw new Error('no view matched');
}

你可能需要放大才能看到图片一般来说,粘贴在代码中比粘贴在代码图片中得到的答案要好得多。眼见为实,IDE显示了真相是的,但这个真相非常小,眼睛看不清楚:)。是的,看起来你必须通过
set
来设置视图,因此,在第一次调用时,您将始终检查
if(查看[viewName])
,它将始终计算为
if(null)