【发布时间】:2014-03-02 16:08:18
【问题描述】:
我对此很陌生,但无法弄清楚我做错了什么......在订阅发生后文本区域没有获得新值(在组合框中选择的项目)我'我从我的所有请求中取回数据...我只是不知道我是否没有在我的视图模型中的“订阅”的成功部分做某事,或者我的绑定是否有问题...任何帮助不胜感激...
<div style="margin-top: 100px; width: 80%; margin-left: auto; margin-right: auto;">
<h2>Workflows</h2>
<select data-bind="options: Workflows, optionsText: 'Name', value: Workflow, optionsCaption: 'Choose Workflow...'">
</select>
<input data-bind="click: put" id="RunWorkflow" type="button" value="Run Workflow" />
<textarea data-bind="value: Moo" type="text" style="background-color: beige; color: black; display: block; margin-top: 20px; height: 400px; width: 80%;">
</textarea>
<script type="text/javascript">
var WorkflowViewModel = function ()
{
self = this;
self.Name = ko.observable("Who");
self.Moo = ko.observable("George");
var Workflow =
{
Name: self.Name,
Moo: self.Moo
};
self.Workflow = ko.observable();
self.Workflows = ko.observableArray();
$(document).ready(function ()
{
$.ajax({
url: '@Url.Action("Get", "Workflow", new { httproute = "api" })',
cache: false,
type: 'GET',
contentType: 'application/json; charset=utf-8',
data: {},
success: function (data)
{
self.Workflows(data);
}
});
});
self.Workflow.subscribe(function (WorkFlow)
{
$.ajax({
url: '@Url.Action("Get", "Workflow", new { httproute = "api" })',
cache: false,
type: 'GET',
contentType: 'application/json; charset=utf-8',
data: { name: WorkFlow.Name },
success: function (data)
{
self.Moo = data.Moo;
self.Name = data.Name;
}
});
});
};
var workflowViewModel = new WorkflowViewModel();
ko.applyBindings(workflowViewModel);
【问题讨论】:
-
哦,这可能看起来很奇怪,因为看起来我在订阅请求中获得了相同的信息...有点不同...我没有在初始文档中获得 Moo。准备好了,因为我假设它可能很大,所以我只想在请求时将其关闭...我只是在订阅中再次设置名称,因为我正在修补试图找出问题所在...抱歉任何混乱
标签: javascript knockout.js asp.net-web-api