我的代码看起来像这样,但现在我把它放到一个Typescript类中,它给了我一个错误,说“无法读取未定义的属性角色”。
this.$http({
method: 'POST',
url: '/Token',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
data: 'grant_type=password&username=' + encodeURIComponent(userName) + '&password=' + encodeURIComponent(password),
})
.success(function (data, status, headers, cfg) {
data.roles.split(':').forEach(function (v) {
this.data.role['is' + v] = true;
v == 'Test'
})
我是否必须使用Typescript以不同的方式编写我的函数代码?我在function
中有两个success()
,我可以将其替换为=>
吗?
答案 0 :(得分:1)
在这种情况下,this
表示运行此代码的类的实例。您绝对可以将函数转换为箭头函数(=>
)并省略this
。
代码看起来像这样:
this.$http({
method: 'POST',
url: '/Token',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
data: 'grant_type=password&username=' + encodeURIComponent(userName) + '&password=' + encodeURIComponent(password),
})
.success((data, status, headers, cfg) => {
data.roles
.split(':')
.forEach((v) => {
data.role['is' + v] = true;
v == 'Test'
})
});