• seajs加载angularjs


    angularjs是自动完成模块的控制的,而seajs加载模块是异步的,所以不做修改,直接seajs加载angularjs会出错。
                在这里讲下自己的解决方法

    一、需要把ng-app去掉,ng-app是自动加载的。
    二、可能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]);

    五、再提供下完整代码
    html

    {{name}}

    JS

    seajs.use(["jquery", "bootstrap", "angular", "test"], function ($, bt, angular, test) {
                    angular.module("APPName",[]).controller("ControlName",["$scope",test.conttt]);
                    angular.bootstrap(document.body,["APPName"]);
                });
  • 相关阅读:
    discuz常用变量
    Discuz!X/模板标签说明
    Discuz x 默认模板文件目录说明
    apache禁止访问文件或目录执行权限、禁止运行脚本PHP文件的设置方法
    基于Java的数据采集(三)
    基于Java的数据采集(二)
    基于Java的数据采集(一)
    使用Spring JDBCTemplate简化JDBC的操作
    基于原生PHP交叉会员权限控制
    PHP上传压缩包并自解压方法
  • 原文地址:https://www.cnblogs.com/ewqv/p/4903888.html
Copyright © 2020-2023  润新知