Angular NgResource:初始化错误

时间:2013-03-25 05:38:01

标签: angularjs

我对角度资源有一个奇怪的问题。当我尝试定义它时,它会导致应用程序创建错误。我不知道,但这是定义角度资源的正确方式吗? TIA

main.js

'use strict';

require.config({
paths: {
    jquery: 'libs/jquery/jquery-1.9.1',
    angular: 'libs/angular/angular.min',
    ngResource: 'libs/angular/angular-resource.min'

},

shim: {
    angular: {
        exports: 'angular'
    },

    resource : { deps : ['angular'], 'exports' : 'ngResource'},
  }
  });

    require([
    'jquery',
    'angular',
    //'ngResource',  
    'app',
    'routes',
    ],
    function ($, angular, app,  routes) {// set main controller

$(function(){
    var $html = $('html');
    angular.bootstrap($html, [app['name']]);

    $html.addClass('ng-app');

   });

  });

2 个答案:

答案 0 :(得分:0)

帮助那些不熟悉上述代码的用户;代码显示了RequireJS配置和初始化结构,最后只有一小部分是实际的AngularJS代码。

您已正确配置RequireJS以在初始化之前包含ngResource,但您实际上并没有告诉Angular使用它。 我不确定app['name']代表什么,但你的角度引导调用应该包含ngResource模块:

angular.bootstrap($html, ['ngResource']);

而且,顺便说一句,我认为你不需要在最后添加课程('ng-app')。

答案 1 :(得分:0)

在加载所有资源的回调中,尝试在引导之前显式定义模块和依赖项,如下所示:

angular.module('fooApp', ['ngResource']); // Module name and list of dependancies.
angular.bootstrap(document, 'fooApp');

没有必要手动添加ng-app类,当这个类被用来自动进行bootraping时,这不是你想要的。您希望在加载所有脚本时加载applicatiopns模块,并将ngResource模块作为依赖项。

希望这有帮助。