{QML/Qt-5.2, Win7}
访问角色的常用方法是使用model.roleName
ListModel {
id: mod
ListElement { role0: "hello"; role1: "aaa" }
ListElement { role0: "helloThere"; role1: "bbb" }
}
//.....
Repeater {
model: mod
delegate: Text {//....
text: model.role0
}
}
如果我要求我有一个行编辑,我可以在运行时输入要考虑的角色,那么上述在运行时访问角色的方式就会失败。 但这似乎是等价的
Text {//...
text: model["role0"] //is this legal (it works btw) instead of model.role0 ?
}
现在它基本上是一个字符串,所以我可以动态输入角色,显示会根据指定的角色而改变。但这在任何地方都没有记载,只是偶然发现它。问题是,这(第二种方法)是否是一种标准的方法呢?否则,我可以在运行时指定角色的方式是什么?
答案 0 :(得分:2)
您编写的表达式是javascript,javascript model.foo
和model["foo"]
在功能上是等效的。不要忘记你有javascript的强大功能:)