angular 4中的模板绑定
下面是我的部分组件代码angular 4中的模板绑定,angular,Angular,下面是我的部分组件代码 .... .... ngOnInit() { this.service.getData().subscribe( function(data) { try { console.log(JSON.stringify(data)); // {"name":"john"} this.ajaxdata = data; } catch(err) { console.log('Error Here....'); }
....
....
ngOnInit()
{
this.service.getData().subscribe( function(data) {
try
{
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err)
{
console.log('Error Here....');
}
});
}
....
....
下面是我的部分模板相关代码
{{ ajaxdata?.name }}
上述代码中的console.log语句按预期打印“{”name:“john”}”。
但是{{ajaxdata?.name}}没有打印“john”,你知道原因是什么吗?我想是的
{{ajaxdata.?name }}
我想是的
{{ajaxdata.?name }}
您已丢失
此
上下文
解决方案附于下文:
方式1:
this.service.getData().subscribe( function(data) {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
}.bind(this))
this.service.getData().subscribe( (data) => {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
})
方式2:
this.service.getData().subscribe( function(data) {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
}.bind(this))
this.service.getData().subscribe( (data) => {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
})
它应该可以解决您的问题。您已经失去了
此上下文
解决方案附于下文:
方式1:
this.service.getData().subscribe( function(data) {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
}.bind(this))
this.service.getData().subscribe( (data) => {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
})
方式2:
this.service.getData().subscribe( function(data) {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
}.bind(this))
this.service.getData().subscribe( (data) => {
try {
console.log(JSON.stringify(data)); // {"name":"john"}
this.ajaxdata = data;
}
catch(err) {
console.log('Error Here....');
}
})
它应该可以解决您的问题。看起来您已经失去了此
的上下文
在代码中,此
当前未指向ajaxdata
的类实例。有几种方法可以解决这个问题。我认为最简单的方法是使用箭头函数,如下所示:
this.service.getData()
.subscribe(data => this.ajaxdata = data)
有关这方面的详细信息,请参见您似乎已经失去了此的上下文 在代码中,
此
当前未指向ajaxdata
的类实例。有几种方法可以解决这个问题。我认为最简单的方法是使用箭头函数,如下所示:
this.service.getData()
.subscribe(data => this.ajaxdata = data)
有关这方面的更多信息,请参见为什么在
ajaxdata
之后会出现?
?您能给出您的服务代码吗?@AgamBanga Ahhh!我不知道在angular2:)为什么在ajaxdata
之后有?
?你能给出你的服务代码吗?@AgamBanga Ahhh!我不知道在安圭拉2:)