0

JsViews の最新バージョンにアップグレードしましたが、何かが壊れたようです。

"visible{:property}" のようなデータ リンクがあれば、機能します。

"visible{convert:property}" のようなデータ リンクがある場合、それは機能しません。

私が言えることは、プロセスの早い段階で attr "visible" を見て、それを "css-display" に変更しているようです。ただし、コンバーターがある場合、propertyChangeHandler でこの行を実行します

attr = linkCtx.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; }
});
4

1 に答える 1

0

はい、その通りです。これはバグでした。現在は修正されており (commit 58)、jsfiddle が正しく動作するようになりました。

于 2014-09-20T06:55:59.513 に答える