Javascript 击倒JS:observableArray始终保持为空
我的目标是生成一个可排序元素的列表,这些元素将通过knockout进行管理。然而,由于一些我不知道的原因,我创建的observableArray将始终保持为空。我觉得我好像错过了一些非常明显的东西Javascript 击倒JS:observableArray始终保持为空,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我的目标是生成一个可排序元素的列表,这些元素将通过knockout进行管理。然而,由于一些我不知道的原因,我创建的observableArray将始终保持为空。我觉得我好像错过了一些非常明显的东西 <script type="text/javascript"> //var initialData = @Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model)); //con
<script type="text/javascript">
//var initialData = @Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model));
//console.log(initialData);
var test = [{ Position: 1 },
{ Position: 2 },
{ Position: 3 },
{ Position: 4 },
{ Position: 5 }];
var viewModel = {};
viewModel.Offers = ko.observableArray(test);
viewModel.addOffer = function() {
this.Offers.push({ Position : 5});
console.log(this);
};
$(function () {
ko.applyBindings(viewModel, document.body);
$( "#sortable" ).sortable().disableSelection();
});
//var initialData=@Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model));
//console.log(initialData);
var test=[{Position:1},
{位置:2},
{位置:3},
{位置:4},
{位置:5}];
var viewModel={};
viewModel.Offers=ko.observearray(测试);
viewModel.addOffer=函数(){
this.Offers.push({Position:5});
console.log(this);
};
$(函数(){
应用绑定(viewModel、document.body);
$(“#可排序”).sortable().disableSelection();
});
您需要将模板名称用单引号括起来:
<ul id="sortable"
data-bind="template: {name: 'offerTemplate', foreach: Offers}">
工作开始了。您需要将模板名称用单引号括起来:
<ul id="sortable"
data-bind="template: {name: 'offerTemplate', foreach: Offers}">
这里有工作