2013-12-20 40 views
0

首先,感谢这个伟大的插件! (给angularAMD的作者)Angular + angularAMD,在引导应用程序之前加载控制器

我有一些麻烦。我有装载ngAMD所有模块,但两个是我的index.html里面,因为是模板,我包括这样:

<div ng-include="'views/header.html'"></div> 

header.html中使用HeaderCtrl,但我也没办法负荷angularAMD.bootstrap之前如何。 ..

更多代码:

header.coffee需要应用

define ['app', 'bootstrap'], (app, bs) -> 
    'use strict' 

    app.controller 'HeaderCtrl', ($scope, $rootScope) -> 
    $scope.searchText = ""; 

    $scope.updateSearch = -> 
     $rootScope.searchText = $scope.searchText; 

app.coffee

define ['angular', 'angularAMD'], (angular, angularAMD) -> 
    'use strict' 

    app = angular.module 'testsApp', [ 
    'ngRoute' 
    'localization' 
    'restangular' 
    ] 

    angularAMD.bootstrap app 
    app 

自举程序后,吴试图解决NG-包括但没有加载HeaderCtrl!这只发生在页面上的CTRL + F5上,这是加载时间的问题。我不知道如何解决这个问题。任何提示?

+0

你仍然有问题?如果你这样做,设置一个简单的撬棍,我会看到我能做些什么来帮助。 – marcoseu

+0

@marcoseu:谢谢。我解决了。我会尽快在线解决方案。 –

回答

2

问题是angularAMD.bootstrap app的位置。我在加载每个依赖关系之前进行了引导。

我DEP加载后转移angularAMD.bootsrapp电话,一切工作现在:

bootstrap.coffee(应用程序引导程序)

define [ 
    'app' 
    'jquery' 
    '_' 
    'angularAMD' 
    'ctrl/header' 
    'ctrl/menu'] 
, (app, $, _, angularAMD) -> 

    # bootstrapping all dependencies 
    $.get "modules/modules.json", (deps) -> 
    # converts all array items from DEP to module!DEP 
    deps = _.map deps, (dep) -> 
     "module!#{dep}" 

    console.log JSON.stringify deps 
    require deps, -> 
     console.log "Dependencies loaded!" 
     # I'll bootstrap angular only after each dependencies are loaded, this prevents many 'random' issues. 
     angularAMD.bootstrap app 

我希望这可以帮助别人:)

相关问题