只是想知道在淘汰赛中是否有办法获得模型可观察的名称?
在小提琴中https://jsfiddle.net/othkss9s/1/
我有一个可观察的数组,我用来创建一个表。我有一个用于存储表头的数组。有没有办法从产品对象本身获取表头,而不必有一个单独的数组来存储表头?就像从模型本身获取名称,价格和标签一样?
<table>
<thead>
<tr data-bind='foreach: headers'>
<th data-bind='text: $data'></th>
</tr>
</thead>
<tbody data-bind='foreach: shoppingCart'>
<tr>
<td data-bind='text: name'></td>
<td data-bind='text: price'></td>
<td>
<!-- Add a list of tags. -->
<ul data-bind='foreach: tags'>
<li data-bind='text: $data'></li>
</ul>
</td>
</tr>
</tbody>
</table>
这是html表。
$result = json_decode(file_get_contents("http://www.website.asmx/FetchData?=".$data));
答案 0 :(得分:0)
这是提取可观察属性的一种方法
function Product(name, price, tags) {
this.name = ko.observable(name);
this.price = ko.observable(price);
tags = typeof(tags) !== 'undefined' ? tags : [];
this.tags = ko.observableArray(tags);
}
function model() {
var self = this;
this.shoppingCart = ko.observableArray([]);
this.headers = ko.observableArray([]);
};
var myViewModel = new model();
$(document).ready(function() {
ko.applyBindings(myViewModel);
myViewModel.shoppingCart.push(
new Product("Buns", 1.49, ['Baked goods', 'Hot dogs']),
new Product("Cups", 2.00, ['Paper Products', 'Drinks']),
new Product("Plates", 1.50, ['Paper Products'])
);
var product = myViewModel.shoppingCart()[0];
for (var key in product) {
if (product.hasOwnProperty(key)) {
myViewModel.headers.push(key);
}
}
});
https://jsfiddle.net/brianlmerritt/t2f43qov/7/
ps - 您可能希望将字段名称更改为this.Name
等,或者在推送之前将密钥的第一个字母大写为