2013-03-25 115 views
-1

我有一个关于角度资源的奇怪问题。当我尝试定义它时,会导致应用程序创建错误。我不知道,但这是定义角度资源的正确风格? TIAAngular NgResource:初始化错误

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'); 

    }); 

    }); 

回答

0

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

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

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

而且,顺便说一句,我不认为你需要添加的类别(“NG-应用” ) 最后。

+0

嗨stewie。谢谢,但它仍然无法正常工作。我要做的是从角度实现PHONECAT教程的requireJS - angularjs版本。我得到它在$ http上工作,但ngResource还没有运气。 – koko 2013-03-25 08:25:52

+0

你可以附加你的错误的职位。 – Stewie 2013-03-25 10:14:38

0

在回调时,所有的资源都加载,尝试引导之前明确地定义模块和依赖关系,就像这样:

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

无需手动添加NG-App类,当这个类是用来自动bootraping,女巫不是你想要的。在加载所有脚本时,您想要加载applicatiopns模块,并将ngResource模块作为依赖项。

希望这会有所帮助。