如何解决vue.esm.js:649 [Vue警告]:nextTick中的错误:“ TypeError:无法将对象转换为原始值” vue
我收到以下警告[Vue warn]: Error in nextTick: "TypeError: Cannot convert object to primitive value"
,然后出现错误TypeError: Cannot convert object to primitive value
。
在商店中设置对象时会发生这种情况。数据已正确设置在存储中,发生nextTick
之后,页面的呈现似乎出现了问题。
错误的控制台日志显示:
at baseSetAttr (vue.esm.js:6811)
at setAttr (vue.esm.js:6786)
at Array.updateAttrs (vue.esm.js:6740)
at patchVnode (vue.esm.js:6312)
at updateChildren (vue.esm.js:6188)
在文件vue.esm.js:6811
上,我得到以下信息:
function baseSetAttr(el,key,value) {
if (isFalsyAttrValue(value)) {
el.removeAttribute(key);
} else {
// #7138: IE10 & 11 fires input event when setting placeholder on
// <textarea>... block the first input event and remove the blocker
// immediately.
/* istanbul ignore if */
if (isIE && !isIE9 && el.tagName === 'TEXTAREA' && key === 'placeholder' && value !== '' && !el.__ieph) {
var blocker = function (e) {
e.stopImmediatePropagation();
el.removeEventListener('input',blocker);
};
el.addEventListener('input',blocker); // $flow-disable-line
el.__ieph = true;
/* IE placeholder patched */
}
el.setAttribute(key,value); <--- The error happens here
}
}
我希望我可以为这个问题提供更多细节,但是我不知道在我的代码中直接发生此错误的位置或原因。我有两个页面使用同一服务,一个页面正确渲染,另一个页面出现此错误。我已经查看并确保两个页面完全相同,但这只能一次完成
解决方法
答案似乎有些愚蠢,但如果有人对为什么会这样有答案,我会很乐意接受。
问题发生在我已实现的代码的以下代码行上:
<template #results="{ items,loading,sort,onSort,orderedHeaders,onColumnOrderChange }">
<order-summary :sort="sort"/>
组件order-summary
没有道具sort
。移除道具sort
后,一切正常。
<template #results="{ items,onColumnOrderChange }">
<order-summary/>
如果有人能解释为什么会发生这种情况,我很乐意接受答案
,我也遇到了同样的问题。虽然我不知道是什么导致了问题,但我可以使用
JSON.parse(JSON.stringify(***))
解决
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。