JavaScript 功能 - 自定义小部件 - Appcelerator alloy
JavaScript functions - Custom widget - Appcelerator alloy
我在设计自定义 js 小部件时遇到了一些问题,这是代码
function SomeCustomWidget() {
//private variables
var referenceOfThis = this;
var sideMenuWidth = 200;
var selectedBgColor = '#8EBA04';
function createWidget(){
var containerView = //initialization
var upperPartOfView = createUpperPartOfWidget();
Ti.API.info("LOG2 This log is not getting printed");
containerView.add(upperPartOfView);
var lowerPartOfView = createLowerPartOfWidget();
containerView.add(lowerPartOfView);
}
//Private methods
function createUpperPartOfWidget(e) {
var widgetUpperPart = //initialization codehere
Ti.API.info("LOG1 This log is getting printed");
return widgetUpperPart;
}
function createLowerPartOfWidget(e) {
var widgetLowerPart = //initialization codehere
return widgetLowerPart;
}
//Previlage method
this.highlightWidget = function(e) {
//access private variables and does somestuff
};
}
module.exports = SomeCustomWidget;
我有几个问题
- 构造函数里面的私有方法是自动执行的,
createWidget
我的例子
2.Code 在调用 privare 函数后没有被执行,(在我的例子中 LOG1
被打印而 LOG2
没有,代码中是否有任何错误)
这是创建自定义视图的正确方法吗,请提出建议!
您在谈论 Alloy 和小部件,但您显示的代码是 CommonJS 模块而不是 https://appcelerator.github.io/appc-docs/latest/#!/guide/Alloy_Widgets
不,当你调用 SomeCustomWidget()
或执行 new SomeCustomWidget()
时,JS 本身不会 运行 createWidget()
。
我在设计自定义 js 小部件时遇到了一些问题,这是代码
function SomeCustomWidget() {
//private variables
var referenceOfThis = this;
var sideMenuWidth = 200;
var selectedBgColor = '#8EBA04';
function createWidget(){
var containerView = //initialization
var upperPartOfView = createUpperPartOfWidget();
Ti.API.info("LOG2 This log is not getting printed");
containerView.add(upperPartOfView);
var lowerPartOfView = createLowerPartOfWidget();
containerView.add(lowerPartOfView);
}
//Private methods
function createUpperPartOfWidget(e) {
var widgetUpperPart = //initialization codehere
Ti.API.info("LOG1 This log is getting printed");
return widgetUpperPart;
}
function createLowerPartOfWidget(e) {
var widgetLowerPart = //initialization codehere
return widgetLowerPart;
}
//Previlage method
this.highlightWidget = function(e) {
//access private variables and does somestuff
};
}
module.exports = SomeCustomWidget;
我有几个问题
- 构造函数里面的私有方法是自动执行的,
createWidget
我的例子
2.Code 在调用 privare 函数后没有被执行,(在我的例子中 LOG1
被打印而 LOG2
没有,代码中是否有任何错误)
这是创建自定义视图的正确方法吗,请提出建议!
您在谈论 Alloy 和小部件,但您显示的代码是 CommonJS 模块而不是 https://appcelerator.github.io/appc-docs/latest/#!/guide/Alloy_Widgets
不,当你调用 SomeCustomWidget()
或执行 new SomeCustomWidget()
时,JS 本身不会 运行 createWidget()
。