如何使用 foreach 在 KNOCKOUTJS 中使用组件



我有这个使用 foreach 的示例组件用法,这是我在 html 中的组件:

<followers params="value:followers"></followers>

在 js 中:

ko.components.register("followers", {
viewModel: function (params) {
    this.listValue = params.value();
    console.log(this.listValue);
},
template:"<ul class='list-inline friends-list' data-bind='foreach:listValue'><li data-bind='text:person'></li></ul>"});

在此处查看完整脚本 https://jsfiddle.net/comfreakph/em0u592c/

列表中的数据为空。

帮助谢谢。

您正在绑定图像属性及其在数据集中缺失,添加它,它将起作用

 self.followers = ko.observableArray([
     { "person": "John Doe", image: '' },
    { "person": "Peter Mark", image: '' },
    {"person": "John Paul", image: ''}
 ]);

我已经更新了您的代码,现在它可以工作了,请查看此处:https://jsfiddle.net/em0u592c/6/

我在你的小提琴代码中注意到的另一件事是错误的数据"人:"约翰·多伊"。您亲自有额外的专栏。