2014-09-04 94 views

回答

1

这是不可能来指代对象从符号本身通过对象的文字符号被创建。此刻,this指向window.js的情况下的全局窗口。

您将需要使用getter函数返回值。

module.exports.views = { 
    theme: 'themes/theme1/', 
    layout: function() { 
     return this.theme + 'layout'; 
    } 
}; 

或者你可以把它变成一个构造函数。

module.exports.views = function() { 
    this.theme = 'themes/theme1/'; 
    this.layout = this.theme + 'layout'; 
}; 
+0

谢谢..它工作完美..我很好奇,但表现..哪一种更有效?这个答案或下面的答案@pomeh ...只是想知道.. – Melvin 2014-09-04 09:44:52

1

当你运行该代码this.theme + 'layout'this并不指的是你views对象,但它指的是全局对象,它因为没有theme财产。

这应该工作:

var view = {}; 
view.theme = 'themes/theme1/'; 
view.layout = view.theme + 'layout'; 

module.exports.views = view; 
相关问题