app.js离子框架中的函数冲突

时间:2015-02-20 10:33:53

标签: javascript cordova ionic-framework

我是离子新手,已经成功安装并测试了我的第一个教程应用。在处理本教程http://ionicframework.com/docs/guide/building.html

时,我遇到了以下问题

当我创建一个空白项目' app.js'使用以下代码创建:

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs).
    // The reason we default this to hidden is that native apps don't usually show an accessory bar, at
    // least on iOS. It's a dead giveaway that an app is using a Web View. However, it's sometimes
    // useful especially with forms, though we would prefer giving the user a little more room
    // to interact with the app.
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {
      // Set the statusbar to use the default style, tweak this to
      // remove the status bar on iOS or change it to use white instead of dark colors.
      StatusBar.styleDefault();
    }
  });
});

但是除非我删除上面的js代码,否则以下代码不会起作用。所以我的问题:保留上述代码是否重要?或者我可以取消它吗?如果重要的是如何维护这两个代码。

.controller('TodoCtlr', function($scope){
  $scope.tasks = [
    {title: 'Collect Coins'},
    {title: 'Read books'},
    {title: 'Go home '},
    {title: 'have dinner'}
  ];
});

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

如果我从运行功能代码的最后一行删除;,代码就可以工作。这一行就像文件的结尾一样,所以如果之后有一个控制器就不会被识别。它应该是这样的:

// run function stuff...
})

.controller('TodoCtlr', function($scope){
// your controller
}); // Here should be the end now!

来源:http://forum.ionicframework.com/t/importance-of-run-function-ionicplatform/17935/3

礼貌:http://forum.ionicframework.com/users/saimon/activity

答案 1 :(得分:0)

在离子app.js中注入与应用程序相关的所有模块以及其他应用程序配置。

第一个代码片段是检查设备是否准备就绪,所以我觉得你应该放这个。

对于控制器,您可以轻松地将此代码放在controller.js文件中

确保这些文件包含在index.html

尝试阅读并遵循离子文档,因为它们非常精彩且写得很好。 http://ionicframework.com/docs/