0
我想模仿使用KnockoutJS數據綁定創建YUI3數據表。 比方說,我有以下的JSON字符串 -如何爲使用JSON數據的YUI DataTable創建KnockoutJS模板?
{ 「@lang」: 「EN-US」,
"cartItem": {
"@lang": "en-US",
"cartId": "14",
"items": [
{
"@lang": "en-US",
"id": "5",
"name": "global/network/main",
"propertyURL": "mail.yahoo.com",
"rootPropertyName": "All Other",
"spaceId": "2023407535"
},
{
"@lang": "en-US",
"id": "5",
"name": "global/network/main",
"propertyURL": "mail.yahoo.com",
"rootPropertyName": "All Other",
"spaceId": "2023407535"
}
]
},
"status": {
"@lang": "en-US",
"message": "",
"status": "success"
}
}
而且我用下面的代碼來創建YUI數據表消耗上述JSON - 。
YUI()的使用( 「數據表」, 「數據表-數據源」, 「數據源本地」, 「數據源-jsonschema」,函數(Y){
var jsonString = Y.one("#jsondata").getHTML();
var dtsource = new Y.DataSource.Local({source:jsonString});
dtsource.plug(Y.Plugin.DataSourceJSONSchema, {
4schema: {
resultListLocator: "cartItem.items",
resultFields: [
// Re-map the "id" member to "rid" ...
{ key:"rid", locator:"id"},
"name", "propertyURL", "rootPropertyName"
]
}
});
var colums = ["rid", "name", "propertyURL", "rootPropertyName"];
var dtable = new Y.DataTable({
columns: colums,
summary:"Shopping cart items",
caption:"Table with JSON data from api"});
dtable.plug(Y.Plugin.DataTableDataSource,{
datasource:dtsource
});
dtable.render("#jsonapi-datatable");
dtable.datasource.load({request:"&id=14"});
});
如何爲上面的代碼創建一個KnockoutJS模板?
在菲德爾 - http://jsfiddle.net/pPY7K/6/