当前位置: 代码迷 >> JavaScript >> Titanium-在单独的js中创建tableview行
  详细解决方案

Titanium-在单独的js中创建tableview行

热度:39   发布时间:2023-06-06 08:56:39.0

我想在名为disponibleRow.js的单独js中创建TableViewRow ,但是它不起作用。 我找不到错误。 这是错误:

“未定义不是对象(正在评估'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()是问题,但我不知道这是什么问题。

创建控制器时,应将arguments对象作为第二个参数传递,否则将其留空。 那么,cuponAux是什么?

带参数的示例:

var disponibleRow = Alloy.createController('Rows/disponibleRow', {arg1:"This is an argument"}).getView();

没有参数的示例:

var disponibleRow = Alloy.createController('Rows/disponibleRow').getView();

  相关解决方案