JSView与转换器的可见链接不起作用

时间:2014-09-19 15:56:49

标签: javascript html jsviews

我升级到最新版本的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; }
});

1 个答案:

答案 0 :(得分:0)

是的,你是对的 - 这是一个错误。它现在已经修复(提交58),你的jsfiddle现在可以正常工作。