Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
Arrays 使用knockout从数组中提取信息_Arrays_Knockout.js - Fatal编程技术网

Arrays 使用knockout从数组中提取信息

Arrays 使用knockout从数组中提取信息,arrays,knockout.js,Arrays,Knockout.js,我目前有一个数组被传递到我的函数中,我想从数组中提取信息,以便在页面上显示它 这就是阵列的外观: EducationalClasses:[object, object] first object contains: classId: "324342", className: "English 101" second object contains: classId: "231243", className: "Reading" 当我执行Educati

我目前有一个数组被传递到我的函数中,我想从数组中提取信息,以便在页面上显示它

这就是阵列的外观:

EducationalClasses:[object, object]

first object contains: 
     classId: "324342",
     className: "English 101"
second object contains:
     classId: "231243",
     className: "Reading"
当我执行EducationalClass[0]时,我得到的结果与第一个对象中的结果相同。我想创建某种循环,以便在我的查看页面中:

<!-- ko foreach: educationalClasses -->
    <div data-bind="text: className></div>
<!--/ko-->

我如何才能正确地执行此操作,以便在不必使用
EducationalClass[0]的情况下显示数组中的所有项。className…EducationalClass[1]。className

从技术上讲,您在此处执行的操作不需要任何可观察项。您只需要viewmodel有一个名为
educationalClasses
的成员,该成员是一个数组(或observableArray)。您只需将原始数据包装到对象中,标记它,然后它就可以运行了

如果要更改阵列并让视图显示更新,则需要一个
observableArray
。如果您希望显示对单个数据项的更改,那么您也希望它们是可观察的

rawData=[{
classId:“324342”,
课程名称:“英语101”
}, {
classId:“231243”,
类名:“阅读”
}];
viewModel=函数(教育类){
返回{
教育类:教育类
};
};
应用绑定(视图模型(rawData))

从技术上讲,您在这里所做的事情不需要任何可观察的东西。您只需要viewmodel有一个名为
educationalClasses
的成员,该成员是一个数组(或observableArray)。您只需将原始数据包装到对象中,标记它,然后它就可以运行了

如果要更改阵列并让视图显示更新,则需要一个
observableArray
。如果您希望显示对单个数据项的更改,那么您也希望它们是可观察的

rawData=[{
classId:“324342”,
课程名称:“英语101”
}, {
classId:“231243”,
类名:“阅读”
}];
viewModel=函数(教育类){
返回{
教育类:教育类
};
};
应用绑定(视图模型(rawData))


这看起来很容易理解,感谢您的帮助。但是我不确定我是否遗漏了什么,但是当我这样做时,我得到了一个控制台错误,说明
className
没有定义。@072我猜你遗漏了什么,那么。:)你为什么不做一把小提琴,从我上面的东西开始,然后一直玩到什么东西不起作用。我想这与我的信息被填充的方式有关。我更新了JSFIDLE,使其显示了从我的终端传入的数据的外观。这里是JSFIDLE链接:首先,您的数据需要是一个数组。您需要重新设置格式,使其与预期格式匹配。您的预期格式也发生了变化:您需要嵌套数组。所以:这看起来很容易理解,谢谢你的帮助。但是我不确定我是否遗漏了什么,但是当我这样做时,我得到了一个控制台错误,说明
className
没有定义。@072我猜你遗漏了什么,那么。:)你为什么不做一把小提琴,从我上面的东西开始,然后一直玩到什么东西不起作用。我想这与我的信息被填充的方式有关。我更新了JSFIDLE,使其显示了从我的终端传入的数据的外观。这里是JSFIDLE链接:首先,您的数据需要是一个数组。您需要重新设置格式,使其与预期格式匹配。您的预期格式也发生了变化:您需要嵌套数组。因此:
viewModel = function(educationalClasses){
    ....
    self.className= ko.observable(educationalClasses.className); // what i want
}