Javascript 自动关闭<;a>;删除注释中的标记
在我的视图中,我使用剔除注释来确定应该显示哪个标记。当我查看页面时,显示的任何标记都会在同一注释块中关闭。以前有人经历过吗?有更好的方法吗Javascript 自动关闭<;a>;删除注释中的标记,javascript,html,knockout.js,knockout-2.0,Javascript,Html,Knockout.js,Knockout 2.0,在我的视图中,我使用剔除注释来确定应该显示哪个标记。当我查看页面时,显示的任何标记都会在同一注释块中关闭。以前有人经历过吗?有更好的方法吗 谢谢虚拟元素必须正确嵌套,就像真实元素一样 您可以使用条件绑定添加类属性并单击事件: <!-- ko if: IsNew() === true --> <a href="#" class="new" data-bind="click:$root.markRead"> <!-- /ko --> <!-- ko
谢谢虚拟元素必须正确嵌套,就像真实元素一样 您可以使用条件绑定添加
类
属性并单击
事件:
<!-- ko if: IsNew() === true -->
<a href="#" class="new" data-bind="click:$root.markRead">
<!-- /ko -->
<!-- ko if: IsNew() === false -->
<a href="#">
<!-- /ko -->
<div class="notification-item">
....
</div>
</a>
谢谢!我想我需要这样做,只是不知道如何。为了扩展我之前的问题,似乎在我更新一些元素的IsNew()属性时,它不会触发这些语句重新求值。你有解释为什么会这样吗?你是如何更新IsNew()?如果你使用css:{'new':IsNew}
而不是css:{'new':IsNew()}
,这会有帮助吗?我最终弄明白了,它正在按预期更新IsNew,只是我代码中没有运行的另一部分。再次感谢你的帮助。
<a href="#" data-bind="css: {'new': IsNew() }, click: IsNew() ? $root.markRead : null">
<div class="notification-item">
....
</div>
</a>