Titanium 钛合金控制器中重写函数的调用
好的,我最近发现了如何使用exports.BaseController在Alloy控制器中继承和重写(如果需要)函数。现在我有了这个视图页面,其中包含一个表,该表的行是动态生成的。下面是xml视图文件和关联的控制器文件(部分): parentView.xml 下面是我用来继承上述genrateRows函数并覆盖其功能的控制器: childView.jsTitanium 钛合金控制器中重写函数的调用,titanium,titanium-alloy,Titanium,Titanium Alloy,好的,我最近发现了如何使用exports.BaseController在Alloy控制器中继承和重写(如果需要)函数。现在我有了这个视图页面,其中包含一个表,该表的行是动态生成的。下面是xml视图文件和关联的控制器文件(部分): parentView.xml 下面是我用来继承上述genrateRows函数并覆盖其功能的控制器: childView.js 我对在childView.js中使用exports.baseController进行重写的理解是,当调用generateRows()调用(问题区
我对在childView.js中使用exports.baseController进行重写的理解是,当调用
generateRows()
调用(问题区域)时,将调用childView.js的generateMyRows()
方法。但事实并非如此。tableview仍然由parentView.js的generateRows()
函数填充。请帮帮我,我已经为此伤了好几个小时了 有点晚,但如果调用$.generateRows(),应该可以正常工作
<Alloy>
<Window id="currentWin">
<LeftNavButton>
<Button id="backBtn" onClick="goBack"/>
</LeftNavButton>
<TitleControl>
<Label id="titleLabel"/>
</TitleControl>
<TableView id="menuTable"/>
</Window>
</Alloy>
var dataArray = [];
var generateRows = function(){
//code to create a number of TableViewRow instances and push them into dataArray
};
exports.generateRows = generateRows;
generateRows(); //problem area
$.menuTable.setData(dataArray);
exports.baseController = "parentView";
var generateMyRows = function() {
//code to create a number of TableViewRow instances and push them into dataArray
};
exports.generateRows = generateMyRows;