合金并需要外部JS

时间:2014-10-16 22:53:21

标签: titanium appcelerator titanium-alloy

现在我的alloy.js文件中有一个全局的函数。

Alloy.Globals.indicator = function(parent)
{
  var view = Ti.UI.createView({
    width: '100%',
    height: '100%',
    backgroundColor: '#000',
    opacity: 0.6,
    visible: false
  });

  function osIndicatorStyle()
  {
    style = Ti.UI.iPhone.ActivityIndicatorStyle.PLAIN;
    if ('iPhone OS' !== Ti.Platform.name) style = Ti.UI.ActivityIndicatorStyle.DARK;
    return style;
  };

  var activityIndicator = Ti.UI.createActivityIndicator({
    style: osIndicatorStyle(),
    height: Ti.UI.FILL,
    width: 100
  });

  view.add(activityIndicator);
  parent.add(view);

  function openIndicator()
  {
    view.visible = true;
    activityIndicator.show();
  }

  view.openIndicator = openIndicator;

  function closeIndicator()
  {
    activityIndicator.hide();
    view.visible = false;
  }

  view.closeIndicator = closeIndicator;
  return view;
};

我不希望将这个大型功能作为全局功能,而是使用require将其导入我需要的文件。

我已经搜索过,无法弄清楚,在哪里放置这个文件,第二个如何实际"要求"它。

所有这一切只是创建一个视图,充当带有活动指示器的模态视图。该功能还包括两个显示和隐藏它的功能。

1 个答案:

答案 0 :(得分:2)

创建一个名为" lib"的文件夹。在" app"内文件夹中。

在此文件夹中,创建一个名为“ functions.js:

var functionName = function(){
     //your function code here
}
exports.functionName = functionName;

在您的控制器中:

var functions = require('functions');
functions.functionName();

您可能还想查看Widgets哪些是可重复使用的组件以及视图/控制器/样式,因为我认为这会更符合您的要求。

Link to docs