我尝试用 IndexedDB 为一家小书店编写一个有角度的应用程序。\n我将索引“isbn”设置为唯一,现在我尝试引发错误,因为我想告诉用户 isbn 必须是唯一的并想显示错误消息。
\n\n我可以console.log(e)并获得以下输出:
\n\n事件
\n\n {isTrusted: true, type: "error", \n target: IDBRequest, currentTarget: IDBRequest, eventPhase: 2, \xe2\x80\xa6}\n\nisTrusted: true\ntype: "error"\ntarget: IDBRequest\nresult: undefined\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n错误:DOMException:无法将键添加到索引“isbn”:至少有一个键不满足唯一性要求。
\n
问题:
\n\n我无法编写console.log(e.target.error)因为 TypeScript 说:\nTS2339: 类型 \'EventTarget\' 上不存在属性 \'error\'
\n\n为什么?
\n\n#\n\n这是方法:
\n\n新增项目() {
\n\nconst request = window.indexedDB.open(this.database.name);\n\nrequest.onsuccess = event => {\n\n const item = {\n title: \'\',\n isbn: 1,\n descrition: \'\',\n rating: 1\n };\n\n const transaction = request.result.transaction([\'books\'], \'readwrite\');\n …Run Code Online (Sandbox Code Playgroud)