3
knockout.js를 처음 접했고 여기에 간단한 내용이 누락되었습니다. 목록에있는 개체 목록이 있고 그 중 하나를 선택하고 속성을 가져 와서 더 많은 데이터를로드하기 만하면됩니다.knockout.js를 클릭하면 배열에서 객체를 전달합니다.
JS : 여기
function category(data) {
this.categoryName = ko.observable(data.CategoryName);
this.categoryID = ko.observable(data.CategoryID);
}
function CatalogViewModel() {
//Data
var self = this;
self.categories = ko.observableArray([]);
self.chosenCategoryID = ko.observable();
//Behaviours
self.gotoCategory= function (category) {
self.chosenCategoryID(category.categoryID);
alert(category.categoryID);
};
$.getJSON("/api/catalog", function (allData) {
var mapped = $.map(allData, function (item) { return new category(item) });
self.categories(mapped);
});
}
ko.applyBindings(new CatalogViewModel());
내 HTML입니다 :
<ul data-bind="foreach: categories">
<li>
<a data-bind="click: $parent.gotoCategory"><label data-bind="text: $data.categoryName"></label></a>
</li>
</ul>
항목은 완벽하게 나열하지만 내가 클릭 한 항목을 때, 내 카테고리 ID를 얻을 수 있었으면하고 있지만 잔뜩 얻을 javascript 대신 평가 및 인수를 시도하는 함수처럼 보입니다.
무엇이 여기에 있습니까?
function c(){if(0<arguments.length){if(!c.equalityComparer||!c.equalityComparer(d,arguments[0]))c.I(),d=arguments[0],c.H();return this}a.U.La(c);return d}function c(){if(0<arguments.length){if(!c.equalityComparer||!c.equalityComparer(d,arguments[0]))c.I(),d=arguments[0],c.H();return this}a.U.La(c);return d}
GAH을 - 멋진 당신을 감사합니다 -이 나를 죽이고 있었다! – Slee