1.获取表单输入
- var input1 = this.comp('input1').val(); // input1为xid
2.bind-visible
动态显示
UI中
- bind-visible="isBoxShow"
js中
- var Model = function(){
- this.isBoxShow = justep.Bind.observable(false);
- };
- Model.prototype.showBox = function(event){
- this.isBoxShow.set(true);
- };
3.页面内的数据共享
页面加载时候ajax获取到数据,提交表单时候需要用到,直接在define
下定义变量
4.提示框
- justep.Util.hint("操作成功");
- justep.Util.hint('test', {
- "type" : "info",
- "delay" : 1000000,
- "position" : "middle",
- "style" : "background-image : -webkit-linear-gradient(top, #EF0A69 0, #EF0A69 100%);"//只需要把 #EF0A69 改成其他颜色即可
- });
相关样式
- .x-hint{
- font-size:28px;
- color:blue;
- }
5.获取jquery对象
- $(this.getElementByXid('modalBox')).show();
6.img标签
- <img src="" alt="" xid="image1" bind-attr-src="$model.toUrl('./img/weixin.png')" style="width:40px;height:40px;"></img>
- //图片路径转换
- Model.prototype.toUrl = function(url){
- return url ? require.toUrl(url) : "";
- };
7.页面中读取data中的数据
- <label class="x-label" xid="label1" bind-text='$model.regData.label("userName")'/> // 获取‘regData’data组件中'显示名称'部分的值
8.渲染列表
class="x-list-template"
下的第一个节点为模板,其所有子节点根据数据进行循环
- <div component="$UI/system/components/justep/list/list" data="settlementListData">
- <div class="x-list-template">
- <span bind-text="ref('id')"></span>
- </div>
- </div>
list组件的data
属性和data组件xid
的对应
- <div component="$UI/system/components/justep/data/data" autoLoad="true" xid="settlementListData" idColumn="id" onCustomRefresh="getSettlementList">
- <column label="id" name="id" type="String" xid="xid3"></column>
- </div>
js部分
- Model.prototype.getSettlementList = function(event){
- var me = this;
- var url = 'Merchantapi/SortingApi/getSettlementList';
- var memberToken = localStorage.memberToken;
- var parameter = {
- memberToken: memberToken,
- status: 1
- };
- me.comp("settlementListData").clear();
- ajax(url, 'post', parameter, function(res){
- console.log(res);
- if (res.apiCode == 0) {
- me.comp("settlementListData").newData({
- defaultValues : [{
- "id" :1,
- "name" :666
- }]
- });
- };
- });
- };
数据流向:js部分通过data组件的xid来操作dada组件的数据,list组件的data属性绑定data组件的xid属性
整个过程中,data组件的xid作为中转标识
9.嵌套列表
创建两个data组件,分别对应两个list组件
- <div component="$UI/system/components/justep/data/data" autoload="true" xid="firstLocation" idcolumn="lid">
- <column label="lid" name="lid" type="String" xid="xid20"></column>
- <column label="name" name="name" type="String" xid="xid21"></column>
- <data xid="default1">
- [{"lid":"1","name":"0"}]
- </data>
- </div>
- <div component="$UI/system/components/justep/data/data" autoload="true" xid="secondLocation" idcolumn="lid">
- <column label="lid" name="lid" type="String" xid="xid22"></column>
- <column label="parentId" name="parentId" type="String" xid="xid23"></column>
- <column label="name" name="name" type="String" xid="xid24"></column>
- </div>
html部分,用到dataitemalias
属性和filter
- <div component="$UI/system/components/justep/list/list" data="firstLocation" dataitemalias="firstRow">
- <div class="x-list-template">
- <div class="firstItem">
- <span bind-text="ref('name')"></span>
- <div component="$UI/system/components/justep/list/list" data="secondLocation" filter="$row.val('parentId')==firstRow.val('lid')">
- <div class="x-list-template">
- <span bind-text="ref('name')"></span>
- </div>
- </div>
- </div>
- </div>
- </div>
数据结构,子列表parentId和父列表lid对应
- {
- "location": [{
- "lid": "1",
- "name": "\u8d27\u4f4dA",
- "secondLocation": [{
- "lid": "2",
- "parentId": "1",
- "name": "A1"
- },
- {
- "lid": "3",
- "parentId": "1",
- "name": "A2"
- },
- {
- "lid": "4",
- "parentId": "1",
- "name": "A3"
- },
- {
- "lid": "5",
- "parentId": "1",
- "name": "A4"
- }]
- },
- {
- "lid": "8",
- "name": "\u8d27\u4f4dB",
- "secondLocation": [{
- "lid": "9",
- "parentId": "8",
- "name": "B1"
- },
- {
- "lid": "10",
- "parentId": "8",
- "name": "B2"
- },
- {
- "lid": "11",
- "parentId": "8",
- "name": "B3"
- }]
- }]
- }
js部分,注意外层循环开始时候调用clear
对列表进行清除
- me.comp("firstLocation").clear();
- me.comp("secondLocation").clear();
- for (var i = 0; i < locationData.length; i++) {
- me.comp("firstLocation").newData({
- defaultValues: [{
- "lid": locationData[i].lid,
- "name": locationData[i].name
- }]
- });
- var secondlocationData = locationData[i].secondLocation;
- for (var j = 0; j < secondlocationData.length; j++) {
- me.comp("secondLocation").newData({
- defaultValues: [{
- "lid": secondlocationData[j].lid,
- "name": secondlocationData[j].name,
- "parentId": secondlocationData[j].parentId
- }]
- });
- }
- //second
- }
10.页面传参
12.data组件相关
data单个对象赋值
- me.comp('count').setValue('countYes',res.countYes);
- me.comp('count').setValue('countNo',res.countNo);
data数组赋值
- me.comp("list").clear();
- for (var i = 0; i < data.length; i++) {
- me.comp("list").newData({
- defaultValues: [{
- "id": data[i].id,
- "time": data[i].updatetime,
- "settlementNo": data[i].settlementNo,
- "settlement": data[i].settlement
- }]
- });
- }
直接从data取值
- <span bind-text=' $model.count.val("countNo")'></span>
http://blog.sina.com.cn/s/blog_667ac0360102wl8h.html
13.什么时候需要data组件