我想在名为TableViewRow
的单独js中创建disponibleRow.js
,但它不起作用。我无法找到错误。这是错误:
" undefined不是一个对象(评估' t.disponibleRow.add')";
listadoCuponesVC.js
var disponibleRow = Alloy.createController('Rows/disponibleRow', cuponAux).getView();
Ti.API.debug("row: " + disponibleRow);
disponibleRow.addEventListener('click', function(e){
Ti.API.debug('row clicked: ' + e.rowData.value);
Alloy.createController('codigoVC', cuponAux).getView();
});
disponibles.push(disponibleRow);
disponibleRow.js
var fecha = Titanium.UI.createLabel({
text: args.get('date'),
font:{fontSize:12,fontWeight:'light'},
width:'auto',
textAlign:'left',
color: '#72828c',
bottom:2,
left:45,
height:12
});
var puntos = Titanium.UI.createImageView({
image:"/images/puntos_azules.png",
width:16,
height:16,
right:10
});
$.disponibleRow.add(fecha);
$.disponibleRow.add(puntos);
disponibleRow.xml
<Alloy>
<TableViewRow height="65" id="disponibleRow">
</TableViewRow>
</Alloy>
修改
现在我已经解决了这个错误,但是Alloy.createController
返回了未定义的对象,我不知道为什么。
编辑2:
var disponibleRow = Alloy.createController('Rows/disponibleRow', cuponAux).getView();
此行返回undefindet .getView()是问题所在,但我不知道出了什么问题。
答案 0 :(得分:0)
创建控制器时,应将参数对象作为第二个参数传递,否则将其留空。那么什么是cuponAux?
带参数的示例:
var disponibleRow = Alloy.createController('Rows/disponibleRow', {arg1:"This is an argument"}).getView();
没有参数的示例:
var disponibleRow = Alloy.createController('Rows/disponibleRow').getView();