【发布时间】:2017-09-04 15:30:50
【问题描述】:
我在 viewmodel 中的 observables 中遇到了敲除JS 数据绑定的问题。如果我尝试在我的视图模型中访问对象中的特定可观察(即对象)属性,则该值似乎不会更新。
<li data-bind="attr: {id: 'option-' + modalData().modalid }, modal: {template: 'modal-template', modalid: modalData().modalid, title: modalData().title, options: {heading: modalData().title, trigger: 'click'}, customElement: $('.modal-dropdown') }">
<a href="#">Open Modal</a>
</li>
要正确初始化我的模态对话框,我需要提供一个带有配置的选项属性。要显示正确的标题,我需要访问 modalData() 的标题。当我在打开一个模式对话框后尝试打开一个不同的模式对话框时出现问题 - 标题的绑定似乎在选项属性中无法正常工作。
所以点击不同的modal后,id属性的绑定会正确更新,但是heading会显示最初点击的modal dialog的值。
有谁知道我该如何解决这个问题或我做错了什么?我只能猜测这与我正在访问选项内的对象内部的可观察对象有关,并且不知何故让它变得很奇怪?
感谢您的帮助!
【问题讨论】:
-
请提供minimal reproducible example 证明问题。
-
您能否向我们展示足够多的代码,以便我们自己尝试并帮助您?
-
总旁注。但是,你在
data-bind中做得太多了。创建一个pureComputed,它返回一个{},为attr绑定提供数据。
标签: knockout.js