1. <table border="1" bordercolor="#ccc" id="tablekinds">
<tr align="center" class="thead">
<td>PM
<sub>10</sub>(μg/m
<sup>3</sup>)
</td>
<td>SO
<sub>2</sub>(μg/m
<sup>3</sup>)
</td>
</tr>
</table>
注意这里:由于我担心SO2,(ug/m3)这样的上标和下标要用到<sup>和<sub>,我怕这些不能按照html标签解析,于是就写在
了html模板中,这样的坏处是写死了,并且没有做到数据驱动的正真含义
这里面没有理解v-html的含义: v-html会把这个字符串按照html解析,于是就可以这么写:
<tr align="center" class="thead">
<td v-for="head of tableHeader" v-html="head.name"></td>
</tr>
tableHeader: [
{
key: "weatherinfo",
name: "O<sub>3</sub>(μg/m" +
" <sup>3</sup>)</td>"
},
}
]
2.处理数据啰嗦复杂:
我一般的思路是:先声明个数据tabledata
然后再组建个数据结构
然后把请求到的数据组装好,放到tabledata里面
这样的话其实就麻烦了,多了好多次的遍历,正确方法是直接用请求到的数据
if (res.data && res.data.errcode == "0") {
if (res.data.data && res.data.data.dataInfo) {
res.data.data.dataInfo.forEach(
(e, i) => {
//组建数据结构
var tmp = {
namecn: "",
stationname: "",
aqitime: "",
aqi: "",
pm25: "",
pm10: "",
so2: "",
no2: "",
co: "",
o3: "",
weatherinfo: "",
tempreture: "",
fx: "",
fs: ""
};
for (var k in e) {
if (tmp[k] === "") {
tmp[k] = e[k]
}
}
//请求到的数据组装好,放到tabledata里面
this.tabledata.push(tmp);
}
}
正确的方法:this.tabledata = res.data.data.dataInfo直接用
if (res.data.data && res.data.data.dataInfo) {
this.tabledata = res.data.data.dataInfo.map(e => {
e.stationname = "全市";
return e;
});
}
3.let arr = [
{ name:"lmz"},
{ name:"hello"},
{ name:"zhege"}
]
let newarr = arr.map( e => {
e.name = "mmm";
return e
})
console.log(newarr);
//得到如下数据
[
{ name:"mmm"},
{ name:"mmm"},
{ name:"mmm"}
]
4.import superMap from "@/components/PoiMap.vue";
5.node必学:https://github.com/xingbofeng/Node.js-Design-Patterns-Second-Edition/blob/master/Chapter1-Welcome%20to%20the%20Node.js%20Platform.md
6.vue中的select正确使用
1.value是默认的,不需要在绑定的时候传入
@change="timeKindChange"
timeKindChange(value){
alert(value)
}
2.@change="timeKindChange()"这更错了,这是调用 timeKindChange()
<tr align="center" class="thead">
<td>PM
<sub>10</sub>(μg/m
<sup>3</sup>)
</td>
<td>SO
<sub>2</sub>(μg/m
<sup>3</sup>)
</td>
</tr>
</table>
注意这里:由于我担心SO2,(ug/m3)这样的上标和下标要用到<sup>和<sub>,我怕这些不能按照html标签解析,于是就写在
了html模板中,这样的坏处是写死了,并且没有做到数据驱动的正真含义
这里面没有理解v-html的含义: v-html会把这个字符串按照html解析,于是就可以这么写:
<tr align="center" class="thead">
<td v-for="head of tableHeader" v-html="head.name"></td>
</tr>
tableHeader: [
{
key: "weatherinfo",
name: "O<sub>3</sub>(μg/m" +
" <sup>3</sup>)</td>"
},
}
]
2.处理数据啰嗦复杂:
我一般的思路是:先声明个数据tabledata
然后再组建个数据结构
然后把请求到的数据组装好,放到tabledata里面
这样的话其实就麻烦了,多了好多次的遍历,正确方法是直接用请求到的数据
if (res.data && res.data.errcode == "0") {
if (res.data.data && res.data.data.dataInfo) {
res.data.data.dataInfo.forEach(
(e, i) => {
//组建数据结构
var tmp = {
namecn: "",
stationname: "",
aqitime: "",
aqi: "",
pm25: "",
pm10: "",
so2: "",
no2: "",
co: "",
o3: "",
weatherinfo: "",
tempreture: "",
fx: "",
fs: ""
};
for (var k in e) {
if (tmp[k] === "") {
tmp[k] = e[k]
}
}
//请求到的数据组装好,放到tabledata里面
this.tabledata.push(tmp);
}
}
正确的方法:this.tabledata = res.data.data.dataInfo直接用
if (res.data.data && res.data.data.dataInfo) {
this.tabledata = res.data.data.dataInfo.map(e => {
e.stationname = "全市";
return e;
});
}
3.let arr = [
{ name:"lmz"},
{ name:"hello"},
{ name:"zhege"}
]
let newarr = arr.map( e => {
e.name = "mmm";
return e
})
console.log(newarr);
//得到如下数据
[
{ name:"mmm"},
{ name:"mmm"},
{ name:"mmm"}
]
4.import superMap from "@/components/PoiMap.vue";
5.node必学:https://github.com/xingbofeng/Node.js-Design-Patterns-Second-Edition/blob/master/Chapter1-Welcome%20to%20the%20Node.js%20Platform.md
6.vue中的select正确使用
1.value是默认的,不需要在绑定的时候传入
@change="timeKindChange"
timeKindChange(value){
alert(value)
}
2.@change="timeKindChange()"这更错了,这是调用 timeKindChange()