我正在尝试使用console.log来获取self.subcategories
对象在以下订阅函数中创建后的值。我总是在我的控制台中从c()
获得console.log(self.subcategories)
。我知道数据存在,因为我可以在不同的代码中使用它。我只是希望能够在console.log中看到它,这样我就可以获得更多信息并知道如何处理它。
function QuestionFilter(data, categories, getSubcategoriesByCategoryUrl, getQuestionsBySubcategoryUrl) {
var self = this;
self.categories = ko.observableArray(categories);
self.subcategories = ko.observableArray([]);
self.selectedCategory = ko.observable();
self.selectedCategory.subscribe(function(category) {
function search(nameKey, myArray){
for (var i=0; i < myArray.length; i++) {
if (myArray[i].parentCategory_id === nameKey) {
self.subcategories.push(myArray[i]);
}
}
}
search(category, categories);
console.log(self.subcategories);
});
};
包含Knockout.js库,因此有几个引用它。正如我所提到的,一切正常,我只是希望能够记录对象以帮助我编写更多代码。有什么想法吗?
答案 0 :(得分:1)
看看documentation(强调我的):
从observableArray中读取信息
在幕后,
observableArray
实际上是一个可观察的,其值是一个数组(加上,observableArray
增加了下面描述的一些附加功能)。因此,您可以通过调用observableArray
作为函数而不使用任何参数来获取基础JavaScript数组,就像任何其他可观察对象一样。然后,您可以从该基础数组中读取信息。例如,alert('The length of the array is ' + myObservableArray().length); alert('The first element is ' + myObservableArray()[0]);