Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么表不是从“中”的数据数组创建的;本地存储“;?_Javascript_Oop_Dom_Ecmascript 6_Local Storage - Fatal编程技术网

Javascript 为什么表不是从“中”的数据数组创建的;本地存储“;?

Javascript 为什么表不是从“中”的数据数组创建的;本地存储“;?,javascript,oop,dom,ecmascript-6,local-storage,Javascript,Oop,Dom,Ecmascript 6,Local Storage,我想从localStorage中的数据创建一个表。为此,实现了添加方法:addToBook()removeContact(e)并删除将数据发送到localStorage的方法 但我有两个错误: 第一:uncaughttypeerror:无法设置的属性'innerHTML' 不确定 第二个是在添加联系人时:uncaughtreferenceerror: 未定义本地存储 我需要将数据正确添加/删除到阵列和localStorage。另外,在表中创建或删除哪些数据,这是我在方法中尝试做的:drowT

我想从
localStorage
中的数据创建一个表。为此,实现了添加方法:
addToBook()
removeContact(e)
并删除将数据发送到
localStorage
的方法

但我有两个错误:

  • 第一:
    uncaughttypeerror:无法设置的属性'innerHTML'
    不确定
  • 第二个是在添加联系人时:
    uncaughtreferenceerror:
    未定义本地存储
我需要将数据正确添加/删除到阵列和
localStorage
。另外,在表中创建或删除哪些数据,这是我在方法中尝试做的:
drowTable()
。请帮忙解决这个问题

class联系人{
构造函数(){
//存储阵列
this.contacts=[];
}
addToBook(){
让isNull=forms.name.value!=''&&forms.phone.value!=''&&
forms.email.value!='';
if(isNull){
//将输入格式化为有效的JSON结构
设obj=newlocalstorage(forms.name.value、forms.phone.value、,
表格,电邮,价值),;
本。触点。推(obj);
localStorage[“addbook”]=JSON.stringify(this.contacts);
table.show();
}
console.log(this.contacts);
}
删除联系人(e){
//从通讯簿中删除条目
if(e.target.classList.contains('delete')){
让remID=e.target.getAttribute('data-id');
这是触点拼接(remID,1);
localStorage['addbook']=JSON.stringify(this.contacts);
table.show();
}
}
}
让数据=新联系人();
班级形式{
构造函数(){
//块
this.BookDiv=document.querySelector('.addbook');
//形式
this.fields=document.forms[0]。元素;
this.name=this.fields[0]。值;
this.phone=this.fields[1]。值;
this.email=this.fields[2]。值;
//钮扣
this.addBtn=document.getElementById(“添加”);
this.addBtn.addEventListener(“单击”,data.addToBook.bind(data));
this.BookDiv.addEventListener(“单击”,data.removeContact.bind(数据))
}
}
类显示地址簿{
构造函数(){
};
drowTable(){
if(localStorage['addbook']==未定义){
本地存储['addbook']='';
}否则{
data.contacts=JSON.parse(localStorage['addbook']);
//在数组地址簿上循环并插入到页面中
data.BookDiv.innerHTML='';
const rows=document.queryselectoral(#book.data”);
for(设i=rows.length-1;i>=0;i--){
常数e=行。项目(i);
e、 parentNode.removeChild(e);
}
const table=document.getElementById(“shop”);
for(设i=0;i

名称
电话
电子邮件


立即添加取消 姓名: 电话: 电邮:
localStorage[“addbook”]
不正确。您的意思可能是
localStorage.setItem(“addbook”,JSON.stringify(this.contacts))
-不建议创建名为LocalsStorage的对象,因为它容易混淆-您的LocalStorage与内置LocalStorage无关-请阅读第二个错误
data.BookDiv.innerHTML
您无法使用stringify存储和检索div。如果出现语法错误,则应存储div的ID,它应该是
localStorage
,而不是
localStorage
。它是区分大小写的。Second@Aminadav他有一个名为LocalStorage的类构造函数