[英]Javascript Object Literal referring to another property in itself from another property
[英]javascript: Referring to a variable in 'same' an object literal
我有以下javascript代码,实际上它的角度是相同的。
我正在尝试通过压缩先前的变量来设置expertUri变量,但我无法使其正常工作。 我尝试了“这个”……但还是没有运气。
'use strict';
angular.module('testme')
.constant('config', {
standardUri: 'http://localhost/setup',
expertUri : standardUri+ '/expert' // THIS FAILS
});
有人知道我在做什么错吗?
谢谢
在您尝试访问standardUri时,尚未定义它。 即使是这样,您也无法以这种方式访问它,因为它是对象属性,而不是变量。
这应该工作:
'use strict';
var standardUri = 'http://localhost/setup';
angular.module('testme')
.constant('config', {
standardUri: standardUri,
expertUri : standardUri+ '/expert'
});
无需引入新变量即可“完成这项工作”的唯一方法是让ExpertUri作为吸气剂
{
standardUri: 'http://localhost/setup',
get expertUri () {return this.standardUri + '/expert';}
}
这意味着每次您尝试访问属性ExpertUri时 ,实际上是在调用一个函数 , this
函数将允许您访问Object 。
您还可以使用匿名函数并立即调用它来创建对象,这隐藏了变量,但感觉就像是敲碎坚果的锤子...
angular.module('testme')
.constant('config',
(function() {
var stdUri = 'http://localhost/setup';
return {
standardUri: stdUri,
expertUri : stdUri+ '/expert'
};
}
}())
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.