【已解决】 在文章管理中点击编辑返回之后,修改内容不能显示标签?
提示错误的是无法读取未定义的属性长度,就是标签长度
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'length' of undefined" found in
---> <ElButton> at packages/button/src/button.vue
<ElFormItem> at packages/form/src/form-item.vue
<ElForm> at packages/form/src/form.vue
<PostArticle> at src/page/content/post-article.vue
<RightContent> at src/layout/right-content.vue
<ElMain> at packages/main/src/main.vue
<ElContainer> at packages/container/src/main.vue... (1 recursive calls)
<BaseView> at src/layout/base-view.vue
<App> at src/App.vue
<Root>
warn @ vue.runtime.esm.js?2b0e:619
logError @ vue.runtime.esm.js?2b0e:1884
globalHandleError @ vue.runtime.esm.js?2b0e:1879
handleError @ vue.runtime.esm.js?2b0e:1839
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1862
invoker @ vue.runtime.esm.js?2b0e:2179
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1854
Vue.$emit @ vue.runtime.esm.js?2b0e:3888
handleClick @ element-ui.common.js?2763:9413
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1854
invoker @ vue.runtime.esm.js?2b0e:2179
original._wrapper @ vue.runtime.esm.js?2b0e:6917
vue.runtime.esm.js?2b0e:1888 TypeError: Cannot read property 'length' of undefined
at VueComponent.showLabelInput (post-article.vue?b8e0:283)
at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
at VueComponent.invoker (vue.runtime.esm.js?2b0e:2179)
at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
at VueComponent.Vue.$emit (vue.runtime.esm.js?2b0e:3888)
at VueComponent.handleClick (element-ui.common.js?2763:9413)
at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
at HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179)
at HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917)
this.labels = remoteArticle.labels;
// window.console.log(this.labels);
但是我在检查之后发现是获取文章详情的问题,
getArticleDetail(articleId) {
api.getArticleDetail(articleId).then(result => {
if (result.code === api.success_code) {
let remoteArticle = result.data;
this.article.id = remoteArticle.id;
this.article.title = remoteArticle.title;
this.article.content = remoteArticle.content;
this.article.categoryId = remoteArticle.categoryId;
this.article.summary = remoteArticle.summary;
this.article.cover = remoteArticle.cover;
this.article.label = remoteArticle.label;
this.article.state = remoteArticle.state;
this.article.type = remoteArticle.type;
this.article.createTime = remoteArticle.createTime;
this.labels = remoteArticle.labels;
window.console.log('labels is ==> ' +this.labels);
//如果当前文章的状态是草稿,按钮显示发表文章
//如果已经发布的:发布,置顶,删除,按钮显示更新
if (this.article.state === '2') {
this.commitText = '发表文章';
this.disableDraftBtn = false;
} else {
this.commitText = '更新文章';
//草稿这个按钮就不能用了
this.disableDraftBtn = true;
}
}
})
}
这个值是传不进去的
this.labels = remoteArticle.labels;
window.console.log('labels is ==> ' +this.labels);
打出log就是
labels is ==> undefined
检查数据库之后,labels是修改成功的,但是就是不显示
console.log(remoteArticle) 看看调试一下
输出这个result 一看就知道了。
再不行就模拟请求一下