2012-06-14 96 views
0

好吧在这个上面感到沮丧....使用knockoutJS做一些视觉交互的东西。KnockoutJS绑定不起作用

我所拥有的是一个将使AJAX调用来验证某些数据的按钮。该调用返回CanProceed属性以及表示其他视图设置的对象。当我设置CanProceed(true)时,代码将起作用,这会打开一个内部具有更多DIV的DIV,这些可见性属性中的每一个都绑定到从服务器设置的Permissions.AllowXXX。

见捣鼓一个例子

http://jsfiddle.net/RcCAx/

我希望有发生的是,当我从服务器获取权限,我应该能够告诉淘汰赛关于对象,并在页面UI更新但它不起作用。如果我首先声明observable(就像CanProceed属性一样),但是如果我尝试在这里使用ko.mapping.fromJS(serverdataobject),它不会更新之前绑定它的东西。

帮助......

回答

1

See updated fiddle解决方案。这里的关键是让权限成为可观察的

+0

现在好了“with:”绑定实际上是如何实现的? – Matt

+0

这不是必须的,我主要用它来避免乱七八糟的绑定字符串,如:[fiddle](http://jsfiddle.net/RcCAx/3/)。我还必须将'self.Permissions = ko.observable()'更改为'self.Permissions = ko.observable({})',否则绑定字符串中的Permissions()将不确定 – antishok