需要一个视图并添加一个变量(Appcelerator Alloy)
Require a view and add with a variable (Appcelerator Alloy)
我不知道我做的是否正确或使用了任何好的做法,但我正在尝试在我的视图中要求和添加视图。
但是我的 index.xml
中有一个视图容器
<View id="containerDays" layout="vertical" height="Titanium.UI.SIZE">
<Require id="requiredDay" src="NewDay"/>
</View>
<Label id="buttonAddDay" class="button" >Adicionar outro dia</Label>
也在 index.js 我有:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = $.getView("NewDay");
$.containerDays.add(novoDia);
}
另外我在另一个文件夹中有视图:
/app/views/NewDay.xml
在那个视图里面是一个简单的输入
<Alloy>
<View class="containerNewDay" layout="vertical" height="Titanium.UI.SIZE">
<TextField id="Day" >write a new day</TextField>
</View>
</Alloy>
所以总结一切,
我正在尝试将我的 $.containerNewDay 添加到我的 $.containerDay 中,但是我没有成功使用 getView() 或 .open()
我将不得不使用所有文本字段项目将其发送到服务器,我如何设置 ID 但不幸的是我不知道如何在 appcelerator 上执行此操作。
变化:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = $.getView("NewDay");
}
收件人:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = Alloy.createController("NewDay").getView();
}
关于上面的答案,您是否包括原始代码块中的 .add 方法?所以应该是:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = Alloy.createController("NewDay").getView();
$.containerDays.add(novoDia);
}
或更好的是:
function addNewDay () {
$.containerDays.add(Alloy.createController("NewDay").getView());
}
因为这不会留下指向视图的指针。
如果你想让它更干净:
$.buttonAddDay.addEventListener("click", function addNewDay () {
$.containerDays.add(Alloy.createController("NewDay").getView());
});
或者如果你想坚持 "pure" Alloy 方式,那么保留 addNewDay 函数并添加一个 onClick="addNewDay" 按钮中的处理程序 XML.
最重要的是,请记住,您需要包含视图 ContainerDays 才能拥有 horizontal 的布局,否则您添加的视图将简单地放置一个接一个。
我不知道我做的是否正确或使用了任何好的做法,但我正在尝试在我的视图中要求和添加视图。
但是我的 index.xml
中有一个视图容器<View id="containerDays" layout="vertical" height="Titanium.UI.SIZE">
<Require id="requiredDay" src="NewDay"/>
</View>
<Label id="buttonAddDay" class="button" >Adicionar outro dia</Label>
也在 index.js 我有:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = $.getView("NewDay");
$.containerDays.add(novoDia);
}
另外我在另一个文件夹中有视图:
/app/views/NewDay.xml
在那个视图里面是一个简单的输入
<Alloy>
<View class="containerNewDay" layout="vertical" height="Titanium.UI.SIZE">
<TextField id="Day" >write a new day</TextField>
</View>
</Alloy>
所以总结一切,
我正在尝试将我的 $.containerNewDay 添加到我的 $.containerDay 中,但是我没有成功使用 getView() 或 .open()
我将不得不使用所有文本字段项目将其发送到服务器,我如何设置 ID 但不幸的是我不知道如何在 appcelerator 上执行此操作。
变化:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = $.getView("NewDay");
}
收件人:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = Alloy.createController("NewDay").getView();
}
关于上面的答案,您是否包括原始代码块中的 .add 方法?所以应该是:
$.buttonAddDay.addEventListener("click", addNewDay);
function addNewDay () {
var novoDia = Alloy.createController("NewDay").getView();
$.containerDays.add(novoDia);
}
或更好的是:
function addNewDay () {
$.containerDays.add(Alloy.createController("NewDay").getView());
}
因为这不会留下指向视图的指针。
如果你想让它更干净:
$.buttonAddDay.addEventListener("click", function addNewDay () {
$.containerDays.add(Alloy.createController("NewDay").getView());
});
或者如果你想坚持 "pure" Alloy 方式,那么保留 addNewDay 函数并添加一个 onClick="addNewDay" 按钮中的处理程序 XML.
最重要的是,请记住,您需要包含视图 ContainerDays 才能拥有 horizontal 的布局,否则您添加的视图将简单地放置一个接一个。