首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自Knockout JS的HTML中太多的标记

来自Knockout JS的HTML中太多的标记
EN

Stack Overflow用户
提问于 2013-01-22 15:47:27
回答 2查看 209关注 0票数 0

我正在学习技巧,并注意到我的页面中包含了很多似乎..。不知道看上去是什么样子。

  • 不必要--对KO来说是必要的
  • 过量-数据绑定=需要数据才能工作
  • 代码杂波-很多标记..。

也许我是在做“顺其自然”的事情,而不是正确地使用视图--这段代码:

代码语言:javascript
复制
<tr data-bind="css: {'checked':Active,'unchecked':!Active,}">
            <td data-bind="text: Name, class: Active"></td>
</tr>

生成:

代码语言:javascript
复制
<tr data-bind="css: {'checked':Active,'unchecked':!Active,}" class="checked">
  <td data-bind="text: Name, class: Active">Aaron46</td>
</tr>
<tr data-bind="css: {'checked':Active,'unchecked':!Active,}" class="checked">
  <td data-bind="text: Name, class: Active">Abigail</td>
</tr>
<tr data-bind="css: {'checked':Active,'unchecked':!Active,}" class="unchecked">
  <td data-bind="text: Name, class: Active">Adrienne</td>
</tr>
<tr data-bind="css: {'checked':Active,'unchecked':!Active,}" class="checked">
  <td data-bind="text: Name, class: Active">Aimee</td>
</tr>

这看上去像“杂波代码”吗?或者我不应该担心.)

到目前为止我还爱着KnockOutJS。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-22 16:02:45

我必须承认,在尽可能稀疏地制作Html多年之后,将许多东西放入数据绑定中感觉是错误的。

但是,经过几周的时间,它的力量已经让我在这个问题上。这至少是有道理的。

如果您没有实际绑定到某些数据,我就不会使用Knockout来设置tds上的CSS。所以我会这么做:

代码语言:javascript
复制
<tr data-bind="css: {'checked':Active,'unchecked':!Active,}">
            <td class="Active" data-bind="text: Name"></td>
</tr>
票数 2
EN

Stack Overflow用户

发布于 2013-01-22 16:10:46

有几个库可以最小化或消除标记中对绑定的需求。

我对此的贡献是关于配置库https://github.com/AndersMalmgren/Knockout.BindingConventions的约定。

它使用约定而不是显式绑定,当使用这样的库时,您会惊讶于很少需要显式声明绑定,您的css示例仍然需要与标准绑定结合,或者创建自己的约定。

例如,香草KO:

代码语言:javascript
复制
<button data-bind="click: save, enable: canSave">Save</button>

我的图解:

代码语言:javascript
复制
<button data-name="save">Save</button>

http://jsfiddle.net/3Ajnj/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14462462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档