seajs加载angularjs

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"]);
            });
时间: 2024-08-25 17:33:05

seajs加载angularjs的相关文章

seajs加载jquery时提示$ is not a function该怎么解决

这篇文章主要介绍了seajs加载jquery时提示$ is not a function该怎么解决的相关资料,需要的朋友可以参考下 jquery1.7以上的都支持模块化加载,只是jquery默认的是支持amd,不支持cmd.所以要用seajs加载jquery时,我们需要稍微做下改动,需要把以下内容做下修改,具体修改方式如下: 把 ? 1 2 3 4 5 if (typeof define === "function" && (define.amd)) {   defin

seajs加载jquery提示$ is not a function

jquery1.7以上的都支持模块化加载,只是jquery默认的是支持amd,不支持cmd.所以要用seajs加载jquery,需要稍微改下jquery 把 1 if (typeof define === "function" && (define.amd)) { 2 define( "jquery", [], function() { 3 return jQuery; 4 }); 5 } 改成 1 if (typeof define === &qu

seajs加载流程图

最近读seajs源码,整理出了主要逻辑的流程图(注意:是逻辑示意图),感兴趣的朋友可以看看,欢迎批评指正~ http://www.gliffy.com/go/publish/image/6072161/L.png seajs加载流程图

SeaJS加载器学习

今天很有趣,偶然发现了一个做智能产品的网站智能帮 打开这个站点,然后打开Web控制台,刷新之后发现只在末尾出现了两个script标签,一个是百度的统计脚本,一个是SeaJS的加载脚本以及它的配置,然后其他的都没了. 很奇怪智能帮这个站点应该是有不少脚本操作的,包括登陆,点赞等等,但是却没有在节点中找到其他的脚本. 从网络中可以看出来依次加载了很多其他脚本和图片.那这些图片去哪里了呢?阅读了SeaJS的相关文档之后发现,原来这些脚本在下载之后都被缓存在内存了.所以没有在Dom节点中展示出来.

AngularJS中多个ng-app(手动加载模块)

1.当有多个ng-app时:(首先是要加载angularJS) <div ng-app=""> <p>姓名:<input type="text" ng-model="name" placeholder="请输入姓名" /></p> <p> {{name}} </p> </div> <div ng-app="">

加载器 seaJS

一步步学会使用SeaJS 2.0 本文分为以下8步,熟悉之后就能够熟练使用SeaJS,从此之后你的生活会变得更加轻松愉悦! 1.SeaJS是什么? 2.下载并检阅SeaJS 3.建立工程和各种目录 4.引入SeaJS库 5.编写自己的代码 6.引入自己的代码 7.压缩合并 8.总结展望 -------------------------------------------------- 1.SeaJS是什么? 你一定听过前端模块化开发吧?神马,你没听过?我只能说你out了-- 你应该知道Java

关于angularjs的加载方式

一.      关于angularjs的加载方式: 启动方式: 一个angular应用运行起来的"入口",有两方式: 1)在元素上添加ng-app指令(暂时无需关心什么意思):ng-app可以有属性值(ng-app="app"),这样   的话就需要咱们去写一个名为app的module了,后续详解. ---- 暂时不推荐使用这种方式启动angular 2) 不去指定ng-app,通过JS代码执行:angular.bootstrap(element, ['模块名'..

黄聪:AngularJS 动态加载控制器实例-ocLoazLazy

一.AngularJS动态加载控制器和视图实例 路由配置关键代码: [javascript] view plain copy print? //二级页面 $stateProvider.state('main', { url: '/:name', /**如果需要动态加载数据和控制器***/ views: { "": { templateUrl: function ($stateParams) { console.info($stateParams); return '/template/

JQuery、AngularJs动态加载其他页面

1.JQuery的load函数 <script> $(function(){ $("#d1").load("page.html");//需要加载的页面 $.ajax({ type:"get", url:"http://localhost:3000/showAll", dataType:"jsonp", jsonpCallback:"cb", success:function(