UNPKG

clay-core

Version:

Provide a more friendly web-side drawing interface!

66 lines (62 loc) 3.09 kB
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="../../libs/easycss-1.3.1.min.css"> <link rel="stylesheet" href="../../libs/prettify.css"> <link rel="stylesheet" href="../../doc.css"> <script src="../../libs/prettify.js"></script> </head> <body onload="prettyPrint()"> <header> 数据绑定 </header> <p> 在教程中的结点和数据操作一节已经说明了数据绑定的概念和意义,这里就简单的列出全部接口。 </p> <h2> datum </h2> <pre class='prettyprint lang-js'>clayObject.datum(data[, calcback]);</pre> <p> 该方法用于把数据绑定到一组结点或返回第一个结点数据,不带任何参数表示获取数据,带一个参数表示设置clay对象维护的全部结点数据为data。带两个参数的写法参考如下: </p> <pre class='prettyprint lang-js'>clayObject.datum(data, function(temp, index){ // 应该返回一个数据,该数据就是最终设置的值 });</pre> <p> 其中temp就是datum的第一个参数值,index表示当前设置的结点序号。 </p> <h2> data </h2> <pre class='prettyprint lang-js'>var update=clayObject.data(datas[, calcback]);</pre> <p> 该方法用于把一组数据绑定到一组结点或返回一组结点数据,和datum一样,不带参数表示获取数据,带一个参数表示设置clay对象维护的全部结点数据为data,只不过第一个参数应该是一个数组。同样的,带两个参数的写法和上面的写法一样,就不赘述了。 </p> <p> 不同的是,一组数据绑定到一组结点可能会存在一个问题:结点数目和数据数目不一致。因此后面还提供了两种方法来处理这种问题(事实上,这两种方法就是专门为data方法设计的)。 </p> <h2> enter </h2> <pre class='prettyprint lang-js'>var enter=update.enter(template);</pre> <p> update是clay对象调用data方法后返回的对象,其中记录着数据和结点个数差异信息,调用enter方法会返回一个新的clay对象,该对象记录着由多于结点的数据信息创建的结点集合。 </p> <p> 参数template应该是一个字符串,表示新添加的结点是什么,可以有两种写法: </p> <pre class="prettyprint lang-js bingo">update.enter('div')、update.enter('line')</pre> <pre class="prettyprint lang-js bingo">update.enter('&lt;line&gt;&lt;/line&gt;')、update.enter('&lt;line class="enter"&gt;&lt;/line&gt;')</pre> <h2> exit </h2> <pre class='prettyprint lang-js'>var exit=update.exit();</pre> <p> 和enter方法相对应,会返回一个clay对象(该对象维护着多于数据部分的结点),一般调用remove方法删除就可以了。 </p> </body> </html>