起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1206|回复: 1

[处理中3] 关于自定义属性的问题

[复制链接]

116

主题

276

帖子

510

积分

高级会员

Rank: 4

积分
510
QQ
发表于 2017-3-9 09:42:45 | 显示全部楼层 |阅读模式
Wex5版本3.6,研究fileSystem.w发现有自定义属性,几个问题请教一下:
1.filesystem.w文件中自定义属性data-bind的机制是什么?
研究app上文件读写,查看UI2/system/components/justep/docCommon/fileSystem.w,其中有几个组件(div6、div7、div8、div9)有一个自定义属性data-bind,不是很明白。论坛搜索自定义属性命名规则不是bind-attr-xxx吗?这个data-bind,组件是如何处理的?data-bind值有foreach,attr,click、text等,分别是什么含义?

    <div class="x-panel-content" xid="div1">
      <ul class="x-scroll-content media-list" data-bind="foreachmodel.fileSystemModel.child"
          xid="div6" style="padding-top: 15px;">
          <li class="media" data-bind="clickmodel.openEntry.bind($model,$object.name.get(),$object.fullPath.get(),$object.type.get())"
            xid="div7">
            <div class="x-blob x-blob-radius pull-left media-object x-org-image"
              xid="div8">
              <img class="x-blob-img x-autofill" xid="image1" data-bind="attr:{srcmodel.getFileImage($object)}"/>
            </div>  
            <div class="x-tree-link media-body" style="text-align:left;" xid="div9">
              <i class="pull-right icon-chevron-right" xid="i1" style="float:right;font-size:20px;padding-right:6px;padding-top:6px;"
                data-bind="visibleobject.type.get() == 'dir'"/>  
              <div class="media-body" xid="div10">
                <h4 class="media-heading" data-bind="textobject.name" xid="h41"/>  
                <div data-bind="textobject.fullPath" xid="div11"/>
              </div>
            </div>
          </li>
        </ul>
    </div>


2.clickmodel.openEntry.bind($model,$object.name.get(),$object.fullPath.get(),$object.type.get())"是什么含义?openEntry是js中定义的一个函数,openEntry.bind对应什么?该函数调用怎么变成了4个参数?

3.上述代码中的$object是什么值?对应div的值吗?

4.var BindMapping = require("$UI/system/lib/bind/bind.mapping");这个js对应的api在什么地方?帮助文档以及论坛上没有搜到,其中BindMapping.fromJS(fileSystemData, self.fileSystemModel)是实现什么功能? 参数含义?
请版主或者其他高手给予解答,谢谢。

发表于 2017-3-9 11:06:26 | 显示全部楼层
1.data-bind 是KO绑定原生的用法!  x5再次之上封装了bind-click属性,最终解析后,也会变成data-bind="click 这种格式的!
他们表示的含义都是一样的!就直接这样写就可以了!

2.
$mode  表示model对象!  $object 表示each循环中当前行对象,$object.name.get() 就是获取当前行name字段的值!
其他也一样,就看openEntry定义传参是什么了?
这就是另一种格式的写法!理解后直接这样写就行了! 第一个参数永远是model对象!后面依次是方法中的参数!

3.$object 是each 中绑定数组的当前行,循环显示中的当前行!

4.这个也是ko对象的一种定义方式!就是将fileSystemData 这个新的js对象 ,赋值给KO对象 self.fileSystemModel  以及跟踪源码调试


还需要自己测试并且领悟!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-5 04:29 , Processed in 0.113297 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表