0

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

1 回答 1

0

是的,你是对的——那是一个错误。现在已修复(提交 58),您的 jsfiddle 现在可以正常工作。

于 2014-09-20T06:55:59.513 回答