【发布时间】:2014-07-26 22:21:24
【问题描述】:
好的,所以我对淘汰赛还很陌生,而且我已经很好地处理了数据绑定。但是,有一个模式是另一个程序员放在一起的,我想在同一个程序中遵循它,只是一种不同的形式。这是 .NET C# MVC5 VMMV。当我使用其他程序员页面上编写的代码时,一切都会返回。我的返回,但数据绑定不起作用。
两者都在视图模型中声明 两者都是通过模型中的ajax调用 两者都返回数据:
这是在 .cshtml 文件中 HIS CODE:返回profileData ko.observable并返回标签文本
<div class="btn-group margin-top-md pull-right" data-bind="with: profileData">
<label class="btn btn-success btn-xs active" data-bind="text: opportunityName">
</label>
<label class="btn btn-success btn-xs" data-bind="text: status">
</label>
<label class="btn btn-success btn-xs" data-bind="text: strengthIsCustom">
</label>
</div>
我的代码:返回 getContacts ko.observable,填充 getContacts 但不返回标签测试。
<div class="btn-group margin-top-md pull-right" data-bind="with: contactData">
<label class="btn btn-success btn-xs active" data-bind="text: TotalPublished">
</label>
<label class="btn btn-success btn-xs" data-bind="text: TotalUnpublished">
</label>
<label class="btn btn-success btn-xs" data-bind="text: TotalContacts">
</label>
</div>
功能相同: 我的:
function getContacts() {
model.getContacts().then(function (data) {
contactData({
TotalUnpublished: data.TotalUnpublished,
TotalPublished: data.TotalPublished,
TotalContacts: data.TotalContacts
});
});
}
他的:
function getProfileData() {
model.getProfileData().then(function (data) {
profileData({
opportunityName: data.OpportunityName,
status: data.OutcomeStatus,
strengthIsCustom: data.Strength.IsCustomalysisStarted)
});
});
}
这里有什么突出的吗?
【问题讨论】:
-
首先检查浏览器控制台是否有任何错误。如果不是错误,请添加一个 console.log(data),以检查您是否获得任何数据
-
'his' 函数中有一个错字:
data.Strength.IsCustomalysisStarted)后面的括号。你遗漏了一些东西吗? -
与
profileData()相比,contactData()是如何定义的? -
getContactData() 是对象的集合。
-
getProfileData() 是单个对象。
标签: knockout.js