【发布时间】:2015-10-22 21:59:42
【问题描述】:
我正在尝试将可见属性和文本绑定到剑道 ui 菜单。我使用 MVVM 框架。当我更改 viewModel 子菜单项不可见的属性时不起作用。这是我fiddle example的html代码:
<ul id="menu" data-role="menu">
<li>
<span class="fa fa-globe"></span>
Map
<ul>
<li><a href="#/home/index"><span class="fa fa-home"></span>Index</a></li>
<li><a href="#/home/about"><span class="fa fa-info"></span>Info</a></li>
</ul>
</li>
<li data-bind="visible: isLogout">
<a href="#" data-bind="click: logIn">
<span class="fa fa-sign-in"></span>
Log in
</a>
</li>
<li data-bind="visible: isLogin">
<span class="fa fa-user"></span>
<span data-bind="text: userName"></span>
<ul>
<li><a href="#"><span class="fa fa-key"></span>Change password</a></li>
<li><a href="#"><span class="fa fa-tags"></span>Refresh token</a></li>
<li class="k-separator"></li>
<li><a href="#"><span class="fa fa-sign-out"></span>Log out</a></li>
</ul>
</li>
</ul>
和js:
var viewModel = kendo.data.ObservableObject({
isLogin: false,
isLogout: true,
userName: "",
logIn: function(e) {
//var text = $(e.item).children(".k-link").text();
this.userName = "Jane Smith"; //John Smith
this.isLogin = true;
this.isLogout = false;
}
});
kendo.bind($("#menu"), viewModel);
【问题讨论】: