我升级到最新版本的JsViews,看起来好像坏了。
如果我有一个像“visible {:property}”这样的数据链接,那就可以了。
如果我有像“visible {convert:property}”这样的数据链接,它就不起作用。
据我所知,似乎它在attr“可见”的过程中看起来很早,并将其更改为“css-display”。但是,当我有一个转换器时,在propertyChangeHandler中它执行此行
attr = linkCtx.attr || ATTR; // linkCtx.attr可能在renderTag中的标记实例化期间设置为tag.attr
这导致它将attr更改回“visible”,然后在updateContent中,“css-”的正则表达式测试失败,它从不设置display属性。
我错过了什么吗?这不应该工作吗?
我创造了一个小提琴,展示了我想要做的事情。在非工作情况下,不设置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; }
});
答案 0 :(得分:0)
是的,你是对的 - 这是一个错误。它现在已经修复(提交58),你的jsfiddle现在可以正常工作。