我升级到最新版本的 JsViews,似乎有些东西坏了。
如果我有一个像“visible{:property}”这样的数据链接,它就可以工作。
如果我有一个像“visible{convert:property}”这样的数据链接,它就不起作用。
据我所知,它似乎在 attr“可见”的过程中看起来很早,并将其更改为“css-display”。但是,当我有一个转换器时,在 propertyChangeHandler 中它会执行此行
attr = linkCtx.attr || 属性;// linkCtx.attr 在 renderTag 中标签实例化期间可能已设置为 tag.attr
这导致它将 attr 更改回“可见”,然后在 updateContent 中,“css-”的正则表达式测试失败并且它从不设置显示属性。
我错过了什么吗?这不应该工作吗?
我创建了一个小提琴来展示我正在尝试做的事情。在非工作的情况下,而不是设置 display:none,它设置 visible="false"
http://jsfiddle.net/4scbgjpx/2/
<script id="worksTempl" type="text/x-jsrender">
<div data-link="visible{:show}">
<span data-link="name"></span>
</div>
</script>
<script id="failsTempl" type="text/x-jsrender">
<div data-link="visible{negate:show}">
<span data-link="name"></span>
</div>
</script>
$.views.converters({
"negate": function (val) { return !val; }
});