0

我正在我的应用程序上创建一个表单并且它具有验证。当发现某个字段无效时,我会在该字段上显示一个红色警告标志(它只是一个标签)。

因为我有很多字段,所以我创建了一个获取textfield对象的函数,Ti.UI.createLabel使用我的样式执行,顶部和左侧由接收到的对象定位并将其添加到页面。

虽然这项工作完美无缺,但我不得不认为这可能不是使用 Alloy 的“正确”方式。所以我想知道我是否应该创建一个合金视图(不需要控制器,因为没有逻辑),并且该视图将具有标签(只是标签!)和tss具有固定样式的文件,然后以“合金方式”获取视图"并将其添加到页面?

在这种情况下,最佳做法是什么?我还认为合金添加了它自己的控制器代码并像我现在一样在内部创建标签 - 所以它为 js 引擎添加了额外的操作来执行?性能和内存消耗当然是我主要关心的问题。

4

1 回答 1

1

我认为使用 Alloy 方式更适合代码维护。稍后,如果你想修改你的标签,你只需要编辑你的 TSS。在性能方面,我不认为有很大的不同(它只是一个标签),并且 XML 视图最终转换为 Ti.UI.create。

如果您没有要实现的 JS 逻辑,您可以使用 $.UI.create 方法将您的 TSS 类应用于元素:http://docs.appcelerator.com/platform/latest/#!/api/Alloy.Controller。 UI 方法创建

var label = $.UI.create("Label", {
    classes: 'yourstyle',
    top : 30 //add other property like this
});
$.index.add(label);
于 2016-03-14T06:36:55.327 回答