Knockout.js knockoutjs ko.observearray绑定时不显示数据

Knockout.js knockoutjs ko.observearray绑定时不显示数据,knockout.js,Knockout.js,以下数据位于ko.observableArray汽车中(这是阵列的转储) 查看 <ul data-bind="foreach: cars()"> <li> <span data-bind="text: carDescription"></span> </li> </ul> 但是,没有输出任何内容,也没有显示任何列表项 使用本官方教程中的示例创建的小提琴 这就是

以下数据位于ko.observableArray汽车中(这是阵列的转储)

查看

<ul data-bind="foreach: cars()">
    <li>       
        <span data-bind="text: carDescription"></span>    
   </li>
</ul>

但是,没有输出任何内容,也没有显示任何列表项

使用本官方教程中的示例创建的小提琴

这就是ViewModel所需的全部内容

function ViewModel() {
    var self = this;

    // Editable data
    self.cars = ko.observableArray([
      {
        "carId": 1,
        "carName": "Ford",
        "carStatus": "On-Hold",
        "carDescription": "This is the first car description."
      },
      {
        "carId": 1,
        "carName": "Toyota",
        "carStatus": "On-Hold",
        "carDescription": "This is the second car description."
      }
    ]);
}

ko.applyBindings(new ViewModel());

你能把你的问题放在一起吗?但是foreach:cars()感觉很奇怪,因为foreach会自动打开可观察的对象。尝试使用
,但不建议使用
foreach:cars()
,而不是
foreach:cars
,这不会阻止渲染。这是一把小提琴,显示它在工作:
function ViewModel() {
    var self = this;

    // Editable data
    self.cars = ko.observableArray([
      {
        "carId": 1,
        "carName": "Ford",
        "carStatus": "On-Hold",
        "carDescription": "This is the first car description."
      },
      {
        "carId": 1,
        "carName": "Toyota",
        "carStatus": "On-Hold",
        "carDescription": "This is the second car description."
      }
    ]);
}

ko.applyBindings(new ViewModel());