这是app.component.ts
import { Component } from '@angular/core';
import { GraficaService } from './services/grafica.service'
import { Chart } from 'chart.js';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'yoga';
chart = [];
constructor( private _grafica: GraficaService){}
ngOnInit(){
this._grafica.graficoEstadistico()
.subscribe(res => {
let temp_max = res['list'].map(res => res.main.temp_max)
let temp_min = res['list'].map(res => res.main.temp_min)
let alldates = res['list'].map(res => res.dt)
let weatherDates = []
alldates.forEach((res) => {
let jsdate = new Date(res * 1000)
weatherDates.push(jsdate.toLocaleTimeString('en'), {year: 'numeric', month:'short',day:'numeric'})
});
console.log(weatherDates);
this.chart = new Chart('canvas',{
type: 'line',
data: {
labels: weatherDates,
datasets: [
{
data: temp_max,
borderColor: '#3cba9f',
fill:false
},
{
data: temp_min,
borderColor: '#ffcc00',
fill:false
},
]
},
options: {
legend:{
display:false
},
scales:{
xAxes:[{
display: true
}],
yAxes:[{
display: true
}]
}
}
})
})
// Yo puedo presentar mi json por consola ,asi . De manera continuada al this
//.subscribe(res => console.log(res))
}
}
我目前正在一个ANGULAR项目中使用“ChartJs”库来生成统计图,但当在控制台中运行该项目时,我得到以下错误:错误类型错误:无法读取未定义的属性“map”,有什么解决方案?
core.js:15714错误类型错误:无法读取SafeSubscriber._next(app.component.ts:22)在SafeSubscriber.push../Node_modules/RXJS/_ESM5/Internal/Subscriber.js.SafeSubscriber.__tryorunsub(subscriber.js:196)在SafeSubscriber.push../Node_modules/RXJS/_ESM5/Internal/Subscriber.js.safeSubscriber.next(subscriber.js:134)在Subscriber.push./Node_modules/RXJS/_ESM5/Internal/Subscriber.js.subscriber.next(subscriber.js:134)未定义的属性“map js:77)在subscriber.push../node_modules/rxjs/_esm5/internal/subscriber.js.next(subscriber.js:54)在mapsubscriber.push./node_modules/rxjs/_esm5/internal/operators/map.js.mapsubscriber._next(map.js:41)在mapsubscriber.push./node_modules/rxjs/_esm5/internal/subscriber.js.next(subscriber.js:54)在filterSubscriber上的ber.push../node_modules/rxjs/_esm5/internal/subscriber.js.subscriber.next(subscriber.js:54)。push../node_modules/rxjs/_esm5/internal/operators/filter.js.filtersubscriber._next(filter.js:38)
您使用map
函数的唯一地方是在res['list']
表示,当您获得res
时,它上没有list
属性。
要进行调查,请在subscribe
的开头执行console.log(res)
并观察其中的内容。
同样,作为注释,防止使用shadowed变量(res在map和函数中),这样您就可以将其更改为
在>res['list'].map(r=>r.main.temp_max)
之后
和另一个改进>res.list.map(r=>r.main.temp_max)
由于某些原因,JSON的响应映射不正确,这里是我的HTML。配置文件-search.component.html 下面是html从中提取的组件。配置文件-search.component.ts http-error-handler.service.ts:33类型错误:无法读取MapSubscriber.Project(profile-search.service.ts:49)在MapSubscri
问题内容: 我有以下从容器组件中调用的组件。容器组件通过交易道具。 我知道prop中的data属性可以很好地传递并且具有数据,可以从console.log调用中进行访问。但是,当我尝试映射数据并创建列表时,出现错误: 数据如下所示: 我究竟做错了什么? 问题答案: 提供对未定义的检查,然后渲染该组件,因为道具最初可能不提供数据,但在第二个渲染中可用。那应该解决你的问题
我目前使用两个组件,并在这两个组件上实现了react Route。但是当我单击父组件viewall.js时,我无法从我的模拟json服务器api中获取值,这个错误显示: viewall.js
为什么我得到这个错误不能读取未定义的触摸属性? 为什么它不能读取,但它可以读取 当我们使用
问题内容: 我正在制作非常简单的react应用。但是,当我尝试通过onChange事件调用父(实际上是祖父母)组件的方法时,我一直在获取。 这是触发事件的组件/表单(因此,在绑定的父组件上调用方法…是的,因为我通过道具将其从父组件传递下来,所以在方法上使用了.bound(this)。) 这是我如何通过大多数父(祖父母)组件中的props传递该方法的方法。 这是我作为父项(方法所有者和方法调用程序之