【发布时间】:2014-06-25 02:18:56
【问题描述】:
我正在使用 Breezejs 和 Knockoutjs 构建一个 SPA(单页应用程序)。
我在尝试在淘汰订阅中设置导航属性时遇到问题。在ko.subscription 的最后一行,console.log 函数向我显示了实体,但是,WebPresences 导航属性为空。
不确定它在ko.subscription 中的事实是否真的很重要,但我已经能够在保存之前调用的 js 函数中设置导航道具,所以我认为它具有一定的意义。
这是我的Entity 模型
public partial class Entity
{
public int Id { get; set; }
public string Name { get; set; }
public Nullable<int> WebId { get; set; }
public virtual WebPresence WebPresence { get; set; }
}
这是我的ko.subscription 和相关变量:
var vm = {
newEntity: ko.observable(datacontext.createBreezeEntity('Entity')),
newWebPresence: ko.observable(datacontext.newBreezeEntity('WebPresence')),
}
vm.newEntity().WebPresence.subscribe(
function (data) {
var self = this;
if (data === null)
self.target(vm.newWebPresence());
console.log(vm.newEntity());
}
);
最后但并非最不重要的是我的datacontext
createBreezeEntity: function (entityName) {
return manager.createEntity(entityName);
},
newBreezeEntity: function (entityName) {
return manager.metadataStore.getEntityType(entityName).createEntity();
}
【问题讨论】:
标签: javascript knockout.js breeze navigation-properties