码迷,mamicode.com
首页 > Web开发 > 详细

seajs加载angularjs

时间:2015-10-23 11:50:57      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

angularjs是自动完成模块的控制的,而seajs加载模块是异步的,所以不做修改,直接seajs加载angularjs会出错。
            在这里讲下自己的解决方法
            一、可能angularjs本身带有模块加载的功能,所以没做支持其它js加载angularjs的吧。要让angularjs支持seajs加载,需要加一个代码
           

 if (typeof define === "function" && (define.amd || define.cmd)) {
                define("angular", [], function () {
                    return angular;
                });
            }

 

            二、竟然angularjs都动态加载了,那么angularjs的controller的方法也是需要动态加载,这里就要更改它的自动完成控制模块改成手动完成。
            

angular.module("APPName",[]).controller("ControlName",["$scope",function($scope){
                $scope.name="sd";
            }]);

 

            三、最后还需要加上一句

angular.bootstrap(document.body,["APPName"]);

 

            四、可以把controller方法封装在一个test.js里,这个js也遵循cmd规范
            

define(function (requie, exports, module) {
                exports.conttt=function($scope) {
                    $scope.name="sd";
                };
            });

 

            然后第二步那里可以改成
            

angular.module("APPName",[]).controller("ControlName",["$scope",test.conttt]);

 

            五、再提供下完整代码
            

{{name}}

 

           

seajs.use(["jquery", "bootstrap", "angular", "test"], function ($, bt, angular, test) {
                angular.module("APPName",[]).controller("ControlName",["$scope",test.conttt]);
                angular.bootstrap(document.body,["APPName"]);
            });

 

seajs加载angularjs

标签:

原文地址:http://www.cnblogs.com/ewqv/p/4903888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!