【发布时间】:2015-07-02 06:52:40
【问题描述】:
我对 Knockout 很陌生,我对它在结果 DOM 中显示内容的方式感到有些惊讶。
我在一行和一个类中添加了 4 个 data 属性,我发现在检查生成的 HTML 标记以进行调试时,事情开始变得冗长。
如果我想完成这样的事情:
<tr class="admin" data-user-id="10" data-user-email:'demo@demo.com' data-active="true">Alvaro</tr>
最终在生成的 HTML 标记中的时间太长了:
<tr data-bind="text: name, css: type, attr:{ 'data-user-id': user_id, 'data-user-email': email, 'data-active': $root.isActive()}" class="admin" data-user-id="10" data-user-email='demo@demo.com' data-active="true">Alvaro</tr>
由于许多隐藏数据(或逻辑)显示在生成的标记上,因此检查 DOM 变得更加困难。
在这类框架中这是正常的吗? (ember.js, angular.js...) 或者它只是来自 knockout.js 的特殊东西?
有什么办法可以防止这种“重复”吗?
【问题讨论】:
-
您始终可以选择创建自定义绑定来隐藏一些配置。
-
它在 SPA 中很常见,即角度等。渲染后它往往会显示绑定+渲染的内容,这使得有点冗长。
标签: javascript knockout.js knockout-3.0