简介: 本篇博客是在学习AngularJS自定义控件的学习记录,作为一个学习示例...   

 

A-基本架构介绍

新建一个AngularJs的项目,大概项目结构如下:

AngularJS_自定义控件_笔记1

项目结构:

  大概是由:app.js,bootstrap.js,app-routes.js,config.json,common-config.json等主要文件组成。

  app.js--当做项目的起始文件吧,里面会包含:注入的其他JS模块,过滤设置,配置文件的设置等。

define(function (require, exports, module) {
    var angular = require('angular');
    var asyncLoader = require('angular-async-loader');

    require('angular-ui-router');
    require('angular-seagull2-common');
    require('angular-seagull2-oauth');
    require('angular-seagull2-workflow');
    require('angular-seagull2-infrastructure');
    require('angular-indentity-code');
    require('angular-seagull2-empprovider');
    require('angular-seagull2-careerdev');
    require('angular-seagull2-corporation');

    var app = angular.module('app', [
        'ui.router',
        'angular-seagull2-common',
        'angular-seagull2-workflow-oauth',
        'angular-seagull2-workflow',
        'angular-seagull2-infrastructure',        
        'angular-datepicker',
        'angular-indentity-code',
        'angular-seagull2-empprovider',
        'angular-seagull2-careerdev',
        'angular-seagull2-corporation']);

    //常规金额:由于angular默认的金额格式如果是负数的话显示格式为(12,345.00),使用customCurrency替换成:-12,345.00
    app.filter('customCurrency', ["$filter", function ($filter)
    {
        return function (amount, currencySymbol)
        {
            var currency = $filter('currency');

            if (amount < 0)
            {
                return currency(amount, currencySymbol).replace("(", "-").replace(")", "");
            }

            return currency(amount, currencySymbol);
        };
    }]);

    //将阿拉伯数字转化为中文大写
    app.filter('cnuppercase', ["$filter", function ($filter)
    {
        return function(n)
        {
            if (n === '' || n === '0' || n === 0)
            {
                return "";
            }
            if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))
            {
                return "";
            }
            
            var unit = "千百拾亿千百拾万千百拾元角分", str = "";
            n += "00";
            var p = n.indexOf('.');
            if (p >= 0)
                n = n.substring(0, p) + n.substr(p + 1, 2);
            unit = unit.substr(unit.length - n.length);
            for (var i = 0; i < n.length; i++)
                str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
            return str.replace(/零(千|百|拾|角)/g, "零")
                .replace(/(零)+/g, "零")
                .replace(/零(万|亿|元)/g, "$1")
                .replace(/(亿)万|壹(拾)/g, "$1$2")
                .replace(/^元零?|零分/g, "")
                .replace(/元$/g, "元整");
        };
    }]);
    ////格式化字符串
    //var template1 = "我是{0},今年{1}了";
    //var template2 = "我是{name},今年{age}了";
    //var result1 = template1.format("loogn", 22);
    //var result2 = template2.format({ name: "loogn", age: 22 });
    //两个结果都是"我是loogn,今年22了"
    String.prototype.format = function (args)
    {
        var result = this;
        if (arguments.length > 0)
        {
            if (arguments.length == 1 && typeof (args) == "object")
            {
                for (var key in args)
                {
                    if (args[key] != undefined)
                    {
                        var reg = new RegExp("({" + key + "})", "g");
                        result = result.replace(reg, args[key]);
                    }
                }
            } else
            {
                for (var i = 0; i < arguments.length; i++)
                {
                    if (arguments[i] != undefined)
                    {
                        var reg = new RegExp("({[" + i + "]})", "g");
                        result = result.replace(reg, arguments[i]);
                    }
                }
            }
        }
        return result;
    };

    var commonConfig = require('text!../common-config.json');
    var config = require('text!../config.json');
    app.config(['configureProvider', function (configureProvider)
    {
        configureProvider.configure(commonConfig);
        configureProvider.configure(config);
    }]);
    asyncLoader.configure(app);
    module.exports = app;
});
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2022-12-23
  • 2021-07-12
  • 2021-05-04
  • 2021-09-27
猜你喜欢
  • 2022-01-25
  • 2022-12-23
  • 2021-07-12
  • 2022-12-23
  • 2021-10-16
  • 2021-09-15
  • 2021-09-13
相关资源
相似解决方案