我的移动应用程序在应用程序登录处加载API端点。其中一个API端点返回我可以在DOM中看到的数据。我需要将这些数据加载到另一个视图/视图模型中,而无需再次对数据进行另一次API调用。对Ko的功能响应调用viewmodel
companyDataService.js - (这个返回一个加载所需要的另一种观点上的应用程序为我的视图模型登录的API数据端点)
function getHelpText (companyName, userName, password) {
return api.helpTextGet(company.name, company.userName, company.password);
}
我想上面的数据返回用于我“帮助文本”视图模型,以便它可以传递给关联的视图。这是我在我的视图模型中所尝试的:
var MyText = ko.observable();
var company = shell.authenticatedCompany();
return companyDataService.getHelpText(company.name, company.userName, company.password).then(function (data) {
if (!data) {
MyText(document.getElementById('no-help').innerHTML = '<div class="flex-item"><p>Request help from Support:<br /><a href="mailto:[email protected]" class="low-profile-btn btn btn-lg"><i class="fa fa-info-circle"></i> Contact Support</a></p></div>');
} else {
MyText(data);
}
});
return {
MyText: MyText
};
});
有关如何做到这一点的任何想法?预加载的数据将在此视图模型中使用?如果任何人都可以提供帮助,我会非常感激,因为我把头发拉出来看着承诺,q.defer等等......但是我认为它比这更简单,但却无法解决问题。
这是我的看法KO:
<section class="help-text">
<div class="flex-container">
<div id="no-help" class="help-content" data-bind="html: MyText"></div>
</div>
灿你发布你的绑定MyText?另外,你从API返回什么样的数据?标记? –
@NickDeFazio只是标记。添加了绑定 –