-
Notifications
You must be signed in to change notification settings - Fork 207
常见问题
1.子模块使用 mark_data 标记model ,非model数据不用即可
2.子模块先定义再使用
3.json和ui分离
modelData = requireJSON("test.json”)
或者
modelData = requireJSON("test.json").data
4.用其他模块的ID,需为模块设置id1.ID
5.basis 用法改动:需结合grow使用
6.self不能再用于当前控件,可以通过self.出全局的id等
7.子模块的参数类型必须为model或非model。不能model拼接常量。
8.cellHeight去掉
--默认是值传递。这里我们在函数中修改model值,会发现model未被修改。
updata(model)
--使用make_ref将model标记为引用传递,并作为函数的参数传入即可实现函数中修改model值。
updata(make_ref(model))
总结:
1. 初始化时,会走bind回调,不会走watch回调。
2. bind监听function中使用到的model。watch(var,func)监听var。
3. watch 回调 和值是否改变无关。
model(uData)
---
--- UI
ui {
--- layout views
Label("label")
.width(100)
.height(100)
.bgColor(Color(0xaadd00))
--.bind(function()
-- --举例1
-- --监听的是uData.list[1].name,而点击事件里修改的是uData.list[1]
-- --bind是不会走的
-- self.text(uData.list[1].name)
--
-- --举例2
-- --若想让bind中实现监听uData.list[1]修改,使用它即可监听到它的修改。
-- --temp = uData.list[1]
-- --self.text(temp.name)
--
--end)
.watch(uData.list, function(new)
--监听了uData.list,点击事件里修改uData.list[1],会收到通知
--watch回调会走
self.text(uData.list[1].name)
end)
.onClick(function()
uData.list[1] = { name = "update", age = 66 }
end)
}
---
--- preview
local function preview()
uData.list = {
{ name = "11", age = 20 },
{ name = "22", age = 30 }
}
end
PositionType.ABSOLUTE
:绝对定位。相对父View的偏移,偏移后其他同级控件会受影响。
PositionType.RELATIVE
:相对定位。相对自身位置的基础上进行偏移,偏移后其他同级控件位置不变。
通过position(top, right,bottom,left)/positionLeft(left)
等设置偏移量。
初始ui如下:
如下代码中设置PositionType.ABSOLUTE
相关后,可以看到设置position的控件不再占位,其之后的同级控件位置会前移:
--为Label设置position如下
mLabel("津贴2元", Color(180, 150, 100, 0.8))
.positionType(PositionType.ABSOLUTE)
.positionLeft(10)
.positionTop(10)
如下代码中设置PositionType.RELATIVE
相关后,可以看到设置position的控件原位置仍保留,其同级控件位置不变:
mLabel("津贴2元", Color(180, 150, 100, 0.8))
.positionType(PositionType.RELATIVE)
.positionLeft(10)
.positionTop(10)
若出现如下图algorithm file not found
报错信息,需将Podfile
中use_frameworks
此行注释掉。
1. gravity -> crossSelf
2. gone/hidden -> display
3. MATCH_PARENT/WRAP_CONTENT 已废弃,若实现宽占满可使用widthPercent(100),设置basis(1)来占满剩余空间。
4. weight -> basis