【发布时间】:2019-11-09 15:50:38
【问题描述】:
我准备在动态路由中接收到一个参数后查询数据库返回结果,发现控制台报错。
TypeError: 无法读取 null 的属性“标题”
我去查看请求的时候发现第一个请求返回了数据,然后发送同样的请求但是拼接的参数是null并报错。
这是第二个请求 304
这是我的页面代码。 `
<templat>
<div class="wrapper qa-content">
<div class="qa-title">
<div class="fl title">
<h2>{{problem.title}}</h2>
<p>
<span
>{{labes(index)}}</span>
<span>{{timeago(problem.createtime)}}</span>
</p>
</div>
import "~/assets/css/page-sj-qa-detail.css";
import axios from "axios";
import problemApi from "@/api/problem";
import replyApi from "@/api/reply";
import labelApi from "@/api/label";
export default {
asyncData({ params }) {
return axios
.all([
problemApi.findById(params.id),
replyApi.findByProId(params.id),
problemApi.findPL(params.id)
])
.then(
axios.spread(function(pojo, replyList, labelList) {
return {
problemId: params.id,
replyList: replyList.data.data,
problem: pojo.data.data,
labelList: labelList.data.data
};
})
);
},
data() {
return {
CurrentreplyId: "",
commentList: [],
labelName: [],
textarea: "",
dialogVisible: false,
content: "",
editorOption: {
// some quill options
modules: {
toolbar: [
[{ size: ["small", false, "large"] }],
["bold", "italic"],
[{ list: "ordered" }, { list: "bullet" }],
["link", "image"],
["blockquote", "code-block"]
]
}
}
};
},
mounted() {
console.log("app init, my quill insrance object is:", this.myQuillEditor);
},
methods: {
labes(index) {
console.log(this.labelList);
labelApi.findOne(this.labelList[index].labelid).then(res => {
this.labelName.push(res.data.data.labelname);
console.log(this.labelName);
});
},
check(id) {
console.log(id);
replyApi.findByParentid(id).then(res => {
this.commentList = res.data.data;
});
},
shows(item) {
console.log(item.id);
if (item.content === null || item.content === "" || item.content === "") {
return false;
} else {
return true;
}
}
`
此页面是从前一页面动态路由的。
<nuxt-link :to="'/qa/items/'+item.id" target="_blank">{{item.title}}</nuxt-link>
【问题讨论】:
-
你能分享一些你的代码吗?这将使我们更容易为您提供帮助。所以问题不在于您的请求,而在于查询参数(我假设您有产品 id 或类似的东西(第一次是
2)不存在。无论如何您提出请求......所以你会必须找出您的代码中发生了什么,为什么它会变为空并发出这样的请求......?但正如我所说,分享一些您发出这些请求的代码,也许我可以看到更多。 -
非常感谢你帮助我这个菜鸟。我已经发布了一些代码。如果你写得好,请见谅。