Javascript Angularjs报道;无法设置未定义的属性";
我收到一个错误,上面写着“无法设置未定义的属性”Javascript Angularjs报道;无法设置未定义的属性";,javascript,angularjs,Javascript,Angularjs,我收到一个错误,上面写着“无法设置未定义的属性” vm.dtr1={};//也许我初始化错了? vm.dtr1.date1={};//也许我初始化错了? for(var x=0;xvm.dtr是一个对象,但您试图通过访问索引将其用作数组。这显然是未定义的 vm.dtr1 = {}; // maybe I'm initializing this wrong ? vm.dtr1.date1 = {}; // maybe I'm initializing this wrong ? for(var x
vm.dtr1={};//也许我初始化错了?
vm.dtr1.date1={};//也许我初始化错了?
for(var x=0;xvm.dtr
是一个对象,但您试图通过访问索引将其用作数组。这显然是未定义的
vm.dtr1 = {}; // maybe I'm initializing this wrong ?
vm.dtr1.date1 = {}; // maybe I'm initializing this wrong ?
for(var x=0; x<5; x++){
vm.dtr1[x].date1 = new Date(days[x]); //getting undefined value
}
您需要将vm.dtr声明为dtx类型的数组。dtr是一个对象,但您试图通过访问索引将其用作数组。显然,这是未定义的
vm.dtr1 = {}; // maybe I'm initializing this wrong ?
vm.dtr1.date1 = {}; // maybe I'm initializing this wrong ?
for(var x=0; x<5; x++){
vm.dtr1[x].date1 = new Date(days[x]); //getting undefined value
}
您需要将vm.dtr声明为dtx类型的数组dtx问题在于x
的可能值不是vm.dtr1
的正确键
您可能希望在
循环中为…使用:
for(var x in vm.dtr1) {
if (vm.dtr1.hasOwnProperty(x)) {
vm.dtr1[x] = new Date(days[x]);
}
}
我仍然不知道days
是什么。因此,您需要弄清楚。有关在对象上迭代的更多详细信息,请参阅。问题是x
的可能值不是vm.dtr1
的正确键
您可能希望在
循环中为…使用:
for(var x in vm.dtr1) {
if (vm.dtr1.hasOwnProperty(x)) {
vm.dtr1[x] = new Date(days[x]);
}
}
我仍然不知道什么是days
。因此,您需要弄清楚这一点。有关在对象上迭代的更多详细信息,请参阅。您需要将其更改为数组,然后在分配属性之前必须对其进行初始化
vm.dtr1 = []; // make it an array
for(var x=0; x<5; x++) {
vm.dtr1[x] = {}; // initialize it first
vm.dtr1[x].date1 = new Date(days[x]);
}
vm.dtr1=[];//将其设置为数组
对于(var x=0;x您需要将其更改为数组,然后在分配属性之前必须对其进行初始化
vm.dtr1 = []; // make it an array
for(var x=0; x<5; x++) {
vm.dtr1[x] = {}; // initialize it first
vm.dtr1[x].date1 = new Date(days[x]);
}
vm.dtr1=[];//将其设置为数组
对于(var x=0;x尝试以下更改将很快奏效
vm.dtr1 = []; // change here
//vm.dtr1.date1 = {}; // remove this
for(var x=0; x<5; x++){
vm.dtr1[x] ={}
vm.dtr1[x].date1 = new Date(days[x]); //
}
vm.dtr1=[];//在此处更改
//vm.dtr1.date1={};//删除此
对于(var x=0;x尝试以下更改将很快奏效
vm.dtr1 = []; // change here
//vm.dtr1.date1 = {}; // remove this
for(var x=0; x<5; x++){
vm.dtr1[x] ={}
vm.dtr1[x].date1 = new Date(days[x]); //
}
vm.dtr1=[];//在此处更改
//vm.dtr1.date1={};//删除此
对于(var x=0;x我认为您可能需要这样做
var vm = {}; vm.dtr1 = [];
var day = ['7/7/2012','7/7/2012','7/7/2012','7/7/2012','7/7/2012']
vm.dtr1[x] = {};
vm.dtr1[x].date1 = new Date(days[x]);
}
仍然不知道天数是多少,我所做的是作为日期构造函数的预期输入,我想您可能需要这样做
var vm = {}; vm.dtr1 = [];
var day = ['7/7/2012','7/7/2012','7/7/2012','7/7/2012','7/7/2012']
vm.dtr1[x] = {};
vm.dtr1[x].date1 = new Date(days[x]);
}
仍然不知道天数是多少,我所做的是日期构造函数的预期输入我试图更改vm.dtr1=[]
,但它仍然抛出错误。只是这样做不起作用,你需要让dtxI类型的对象尝试更改vm.dtr1=[]
但它仍然会抛出错误。只是这样做不起作用,你需要DTX类型的对象非常感谢你。它现在起作用了我用了你的第二个答案第二个更好。在第一个我只想显示初始化谢谢。它起作用了我用了你的第二个答案第二个更好。在第一个我只是要显示初始化吗