分答项目_技能点_require加载模块

1、util模块与其他模块的区别

此模块是公共模块在不同的场景下被应用:普通引用场景和异步加载场景;这样导致我们在异步加载时,把他临时改造成amd格式;普通引用方式直接引入即可。

页面需要传递window参数到模块中

(1)模块定义

(function(window) {
    var util = {};
    util.tomedia = function(src, forcelocal){
        if(src.indexOf('http://') == 0 || src.indexOf('https://') == 0 || src.indexOf('./resource') == 0) {
            return src;
        } else if(src.indexOf('./addons') == 0) {
            var url=window.document.location.href; 
            var pathName = window.document.location.pathname; 
            var pos = url.indexOf(pathName); 
            var host = url.substring(0,pos);
            if (src.substr(0,1)=='.') { src=src.substr(1); }
            return host + src;
        } else {
            if(!forcelocal) { return window.sysinfo.attachurl + src; } else { return window.sysinfo.attachurl_local + src; }
        }
    };
    if (typeof define === "function" && define.amd) {
        define(['bootstrap'], function(){ return util; });
    } else {
        window.util = util;
    }
})(window);

(2)模块加载

 require(['util'],function(util){
        $('.mutdelete').click(function(){
            var url = $(this).data('href');
            var ids = [];
            var idss = [];
            $('input:checkbox[name="ids[]"]').each(function() {
                var _that = $(this)[0];
                if(_that.checked){
                    ids = ids.concat($(this).val());
                }else{
                    idss = idss.concat($(this).val());
                }
            });
            ......

2、其他模块:独立第三方模块(不需要传入参数)

(1)模块定义(以trade.js为例)

define(['bootstrap'], function($){
    var trade = {};
    var reg_credit = /^[+-]?(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/i;
    var reg_int = /^[0-9]\d*$/i;
    trade.init = function() {
        $('.modal-trade-credit1, .modal-trade-credit2, .modal-trade-consume, .modal-trade-card, .modal-trade-cardsn, .modal-trade-cardconsume').on('click', function(){
            $('#consume-Modal, #credit-Modal, #card-Modal, #card-edit-Modal, #group-Modal, #cardconsume-Modal').remove();
            var type = $(this).data('type');
            var uid = parseInt($(this).data('uid'));
            if(type == 'consume') {
                trade.consume(uid);
            } else if (type == 'credit1' || type == 'credit2') {
                trade.credit(type, uid);
            } else if (type == 'card') {
                trade.card(uid);
            } else if (type == 'cardsn') {
                trade.card_edit(uid);
            } else if (type == 'cardconsume') {
                trade.cardconsume();
            }
        });
    };
    ......
    return trade;
});

(2)模块加载

 require(['trade'],function(trade){......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值