正在从$.get分配KnockoutJS对象
Assigning KnockoutJS object from $.get
我有以下代码和数据
{
"Job": {
"JobName": null,
"JobNumber": 13,
"JobSize": 0,
"Status": "Finished",
"DateCreated": "/Date(1312551946280)/"
},
"Values": [
{
"Id": "8401",
"Status": "Good",
"JobNumber": 13
},
{
"Id": "8402",
"Status": "Bad",
"JobNumber": 13
}
]
}
function JobViewModel() {
var self = this;
self.jobs = ko.observableArray();
self.selectedJob = ko.observable();
self.history = ko.observableArray();
var app = Sammy(function () {
this.get('#/:jobNumber', function (context) {
$.get('/home/GetJobInfo/' + context.params.jobNumber, {}, self.selectedJob);
});
});
jQuery(function () {
app.run();
});
}
我知道$.get正在工作,因为我可以看到JSON数据返回,并且我在$.get的第三个参数中使用了一个函数来查看数据。
当我用self.selectedJob属性替换该函数时,为什么没有填充它?
感谢
更新:这是我的HTML
<!DOCTYPE html>
<html>
<head>
<link href="~/Content/main.css" rel="stylesheet" />
<title>Sentinel Web Data</title>
</head>
<body>
<div id="sidebar">
<ul data-bind="foreach: jobs">
<li><a data-bind="text: $data.JobName, attr: { href: '#/' + $data.JobNumber}"></a></li>
</ul>
</div>
<div id="job">
<span data-bind="text: JobNumber"></span>
</div>
<div class="clear"></div>
<div id="history" data-bind="with: history"></div>
<script src="~/Scripts/knockout-2.2.1.js"></script>
<script src="~/Scripts/jquery-1.4.4.min.js"></script>
<script src="~/Scripts/sammy-0.7.4.min.js"></script>
<script src="~/Scripts/JobViewModel.js"></script>
<script>
ko.applyBindings(new JobViewModel());
</script>
</body>
</html>
当在控制台中查看get并在self.selectedJob.Job上观看手表时,我会得到"未定义"
关于控制台,您对它的看法不正确。要查看所选作业名称,您需要使用:
var vm = new JobViewModel();
ko.applyBindings(vm);
然后在控制台中:
vm.selectedJob().Job
至于绑定到html,您没有绑定到所选作业:
<div id="job" data-bind="with: selectedJob">
<span data-bind="text: JobNumber"></span>
</div>
我已经设法通过这样做来实现这一点,但我不确定为什么我的原始代码不起作用:
$.get('/home/GetJobInfo/' + context.params.jobNumber, {}, function (data) {
self.selectedJob(data);
});
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 在循环中分配json值时,值被覆盖
- 动态分配GA增强型电子商务跟踪器
- knockoutjs可观察数组
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- KnockoutJS-组件-多个实例
- 如何在jQuery中将函数的输出分配给变量
- 从复选框和Selects-KnockoutJS中获取值的总和
- 为集合分配大量的模型弹药
- onclick函数需要双击,因为类分配延迟
- Javascript 将变量分配给警报
- 将节点数据分配给另一个变量jstree
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- Javascript变量分配-按类别
- 如何将内容分配给元素
- 使用KnockoutJS绑定的YUI DataTable
- 为变量分配多个nodejs导出返回值时出现问题
- Jslint 错误:需要条件表达式,而是看到分配
- 为什么可以't我将检索到的文档分配给控制台中的变量
- 正在从$.get分配KnockoutJS对象