{"record":{"id":"30a674537f73135e","repo":"Meituan-Dianping/mpvue","slug":"v-on-without-argument-expects-an-object-value-30a674","errorCode":null,"errorMessage":"v-on without argument expects an Object value","messagePattern":"v-on without argument expects an Object value","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/core/instance/render-helpers/bind-object-listeners.js","lineNumber":8,"sourceCode":"/* @flow */\n\nimport { warn, extend, isPlainObject } from 'core/util/index'\n\nexport function bindObjectListeners (data: any, value: any): VNodeData {\n  if (value) {\n    if (!isPlainObject(value)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'v-on without argument expects an Object value',\n        this\n      )\n    } else {\n      const on = data.on = data.on ? extend({}, data.on) : {}\n      for (const key in value) {\n        const existing = on[key]\n        const ours = value[key]\n        on[key] = existing ? [].concat(ours, existing) : ours\n      }\n    }\n  }\n  return data\n}\n","sourceCodeStart":1,"sourceCodeEnd":23,"githubUrl":"https://github.com/Meituan-Dianping/mpvue/blob/6c5d78ee04f58c6d782c456dfcf0fe63c0b7f89b/src/core/instance/render-helpers/bind-object-listeners.js#L1-L23","documentation":"Raised by the bindObjectListeners render helper, which implements the object syntax v-on=\"value\" (e.g. <div v-on=\"listeners\">). The bound expression's value is truthy but isPlainObject(value) is false — a string, number, array or other non-object was passed where a map of event names to handlers is required. The helper then skips merging, so those listeners are silently dropped from the VNode.","triggerScenarios":"Thrown at src/core/instance/render-helpers/bind-object-listeners.js:8 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass an object mapping event names to handlers: v-on=\"{ click: onClick, input: onInput }\"","Ensure the bound variable/computed actually evaluates to a plain object at render time (check its initial value and any conditional logic)","Use the normal v-on:event syntax if you only need a single handler"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c5d78ee04f58c6d782c456dfcf0fe63c0b7f89b","analyzedAt":"2026-09-02T05:17:40.946Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T11:17:12.671Z"}