0
我有一个菜单栏,一个div,我只希望看到,如果用户进行身份验证。我的JavaScript文件有这样的代码:访问主viewmodel的孩子vm
var UserViewModel = function() {
var self = this;
self.Name = ko.observable("");
self.IsAuthenticated = ko.observable(false);
self.SignOut = function() {
var uri = '/api/User/Logout'
$.getJSON({ url: uri, contentType: "application/json" })
.done(function() {
window.location.href = "/Pages/Index";
});
}
}
$(document).ready(function() {
var vm = {
loginVm : new LoginViewModel(),
registerVm: new RegisterViewModel(),
userVm: new UserViewModel()
}
var uri = '/api/User/Get'
$.getJSON({ url: uri, contentType: "application/json" })
.done(function (data) {
vm.userVm.Name(data.Name);
vm.userVm.IsAuthenticated(data.IsAuthenticated);
});
ko.applyBindings(vm, $('#LayoutSection')[0]);
GetTimezones();
});
所以,当屏幕上的负荷,它调用“/ API /用户/ GET”,并得到了用户对象,然后填充与名称视图模型和如果用户被认证。
该视图模型(尽管有两个其他视图模型)被分配给主视图模型。
在我的html中,我尝试将数据绑定到该视图模型的'IsAuthenticated'属性以使可见性。
data-bind="visible: userVm.IsAuthenticated"
但它似乎无法看到userVm.IsAuthenticated。
如何访问该属性?