我在我的应用上创建了一个表单并且已经过验证。如果发现某个字段无效,我会在字段上显示一个红色警告标志(它只是一个标签)。
因为我有很多字段,我创建了一个获取textfield
对象的函数,使用我的样式进行Ti.UI.createLabel
,并按接收的对象定位顶部和左边,并将其添加到页。
虽然这项工作非常完美,但我认为它可能不是"正确的"使用Alloy的方法。所以我想知道我是否应该创建一个Alloy视图(不需要控制器,因为那里没有逻辑),并且该视图将具有固定样式的标签(只是标签!)和tss
文件,然后查看" Alloy方式"并将其添加到页面?
在这种情况下,最佳做法是什么?我还认为合金会添加它自己的控制器代码并在内部创建标签,就像我现在一样 - 所以它为js引擎增加了额外的动作来执行?性能和内存消耗当然是我主要关注的问题。
答案 0 :(得分:1)
我认为使用Alloy方式可以更好地进行代码维护。之后,如果您想修改您的标签,您只需要编辑您的TSS。在性能方面,我不是一个很大的区别(它只是一个标签),XML视图最终转换为Ti.UI.create。
如果没有要实现的JS逻辑,可以使用$ .UI.create方法将TSS类应用于元素:http://docs.appcelerator.com/platform/latest/#!/api/Alloy.Controller.UI-method-create
var label = $.UI.create("Label", {
classes: 'yourstyle',
top : 30 //add other property like this
});
$.index.add(label);