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;

我有几个问题

  1. 构造函数里面的私有方法是自动执行的,createWidget我的例子

2.Code 在调用 privare 函数后没有被执行,(在我的例子中 LOG1 被打印而 LOG2 没有,代码中是否有任何错误)

这是创建自定义视图的正确方法吗,请提出建议!

您在谈论 Alloy 和小部件,但您显示的代码是 CommonJS 模块而不是 https://appcelerator.github.io/appc-docs/latest/#!/guide/Alloy_Widgets

不,当你调用 SomeCustomWidget() 或执行 new SomeCustomWidget() 时,JS 本身不会 运行 createWidget()