A-自定义控件示例:

我的自定义控件文件为:angular-seagull2-common.js

(function (window, angular) {
'use strict'; $urlProvider.$inject = [];
function $urlProvider() { var config = {
platformUrlBase: undefined, //"http://localhost:10086/Capital"
apiUrlBase: undefined //'http://localhost:10086',
}; this.$get = ['configure', function (configure) {
config = configure.getConfig(config, 'seagull2Url'); var service = {};
service.getPlatformUrlBase = function () {
if (!config.platformUrlBase) {
throw new Error('`platformUrlBase` properties.');
}
return config.apiUrlBase + config.platformUrlBase;
}; service.getPlatformUrl = function (url) {
return service.getPlatformUrlBase() + url;
}; service.combine = function (base, path) { // Absolute URL
if (path.match(/^[a-z]*:\/\//)) {
return path;
}
// Protocol relative URL
if (path.indexOf("//") === 0) {
return base.replace(/\/\/.*/, path);
}
// Upper directory
if (path.indexOf("../") === 0) {
return resolveRelative(path.slice(3), base.replace(/\/[^\/]*$/, ''));
}
// Relative to the root
if (path.indexOf('/') === 0) {
var match = base.match(/(\w*:\/\/)?[^\/]*\//) || [base];
return match[0] + path.slice(1);
}
//relative to the current directory
return base.replace(/\/[^\/]*$/, "") + '/' + path.replace(/^\.\//, '');
}; return service;
}];
} var module = angular.module('angular-seagull2-common.url', [
'angular-seagull2-common.configure'
]); module.provider('seagull2Url', $urlProvider); })(window, window.angular);
(function (angular) {
'use strict'; angular.module('angular-seagull2-common', [ 'angular-seagull2-common.url', ]); }(window.angular));

a1-根据结构的分析,要想使该JS起作用,需要在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-oauth');
require('angular-seagull2-common');
require('angular-formatDateTime-common'); var app = angular.module('app', ['ui.router', 'angular-seagull2-common', 'angular-seagull2-workflow-oauth', 'angular-formatDateTime-common']); var commonConfig = require('../node_modules/text/text!common-config.json');
var config = require('../node_modules/text/text!config.json');
app.config(['configureProvider', function (configureProvider) {
configureProvider.configure(commonConfig);
configureProvider.configure(config);
}]); // initialze app module for async loader
asyncLoader.configure(app);
module.exports = app;
});

a2-需要在包文件管理中配置包源:

require.config({
map: {
'*': {
'ie8css': 'https://develop-cdn.sinooceangroup.com/libs/requirecss-branch-seagull2/1.1.0/ie8css.min.js',
'css': 'https://develop-cdn.sinooceangroup.com/libs/requirecss-branch-seagull2/1.1.0/css.min.js'
}
},
waitSeconds: 0,
//配置angular的路径
paths: {
'angular': 'https://develop-cdn.sinooceangroup.com/libs/angular/1.2.27/angular.min',
'angular-cookies': 'https://develop-cdn.sinooceangroup.com/libs/angular/1.2.27/angular-cookies.min',
'angular-ui-router': 'https://develop-cdn.sinooceangroup.com/libs/angular-ui-router/0.2.18/release/angular-ui-router.min',
'angular-ui-tree': 'https://develop-cdn.sinooceangroup.com/libs/angular-ui-tree/2.15.0/dist/angular-ui-tree.min',
'angular-async-loader': 'https://develop-cdn.sinooceangroup.com/libs/angular-async-loader/1.3.2/angular-async-loader.min',
'text': 'https://develop-cdn.sinooceangroup.com/libs/text/2.0.15/text.min',
'jquery': 'https://develop-cdn.sinooceangroup.com/libs/jquery/1.12.3/dist/jquery.min',
'webuploader': 'https://develop-cdn.sinooceangroup.com/libs/webuploader/0.1.8/dist/webuploader.min',
'urijs': 'https://develop-cdn.sinooceangroup.com/libs/urijs/1.17.1/src', 'angular-seagull2-common': 'https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-common/1.2.1/angular-seagull2-common',
'angular-seagull2-oauth': 'https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-oauth/1.1.9/angular-seagull2-oauth',
'angular-seagull2-workflow': 'https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-workflow/1.5.1/angular-seagull2-workflow',
'angular-seagull2-infrastructure': 'https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure',
'angular-datepicker': 'https://develop-cdn.sinooceangroup.com/libs/datepicker-branch-seagull2/1.0.5/datepicker-branch-seagull2',
'angular-seagull2-empprovider': './javascript/angular-seagull2-empprovider',
'angular-seagull2-careerdev': './javascript/angular-seagull2-careerdev',
'angular-indentity-code': './javascript/angular-indentity-code',
'angular-seagull2-corporation': './javascript/angular-seagull2-corporation'
},
//这个配置是你在引入依赖的时候的包名
shim: {
'text': { exports: 'text' },
'angular': { exports: 'angular' },
'angular-cookies': { exports: 'angular-cookies', deps: ['angular'] },
'angular-ui-router': { deps: ['angular'] },
'angular-ui-tree': { deps: ['angular', 'css!https://develop-cdn.sinooceangroup.com/libs/angular-ui-tree/2.15.0/dist/angular-ui-tree.min'] },
'angular-datepicker': { deps: ['angular', 'css!https://develop-cdn.sinooceangroup.com/libs/datepicker-branch-seagull2/1.0.5/datepicker-branch-seagull2'] },
'angular-seagull2-common': {
deps: [
'angular',
'urijs/uri',
'angular-ui-tree',
'css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-common/1.2.1/angular-seagull2-common',
'ie8css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-common/1.2.1/angular-seagull2-common.ie8']
},
'angular-seagull2-oauth': {
deps: [
'angular',
'angular-cookies',
'angular-ui-router',
'urijs/uri',
'angular-seagull2-common']
},
'angular-seagull2-workflow': {
deps: [
'angular',
'urijs/uri',
'angular-seagull2-common',
'angular-datepicker',
'css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-workflow/1.5.1/angular-seagull2-workflow',
'ie8css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-workflow/1.5.1/angular-seagull2-workflow.ie8']
},
'angular-seagull2-infrastructure': {
deps: [
'angular',
'angular-ui-tree',
'angular-seagull2-common',
'css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure',
'ie8css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure.ie8']
},
'angular-seagull2-empprovider': {
deps: [
'angular',
'angular-seagull2-common',
'angular-seagull2-workflow',
'css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure',
'ie8css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure.ie8']
},
'angular-seagull2-careerdev': {
deps: [
'angular',
'urijs/uri',
'angular-ui-tree',
'angular-seagull2-common',
'css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure',
'ie8css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure.ie8']
},
'angular-indentity-code': {
deps: ['angular', 'angular-seagull2-common']
},
'angular-seagull2-corporation': {
deps: [
'angular',
'urijs/uri',
'angular-ui-tree',
'angular-seagull2-common',
'css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure',
'ie8css!https://develop-cdn.sinooceangroup.com/libs/angular-seagull2-infrastructure/0.1.4/angular-seagull2-infrastructure.ie8']
}
}
}); require(['angular', 'webuploader',
'./javascript/app-routes'], //注册路由
function (angular, webuploader) {
angular.element(document).ready(function () {
angular.bootstrap(document, ['app']);
angular.element(document).find('html').addClass('ng-app');
});
window.WebUploader = webuploader;
});

B-自定义控件JS简单分析:

--->创建注入对象--->注册注入对象

C-使用示例:

define(function (require) {

    var app = require('javascript/app');

    app.controller('ActivityList-controller', function ($scope, $state, $http, seagull2Url, formatDateTime) {
///查询会议
$scope.GetActivityList = function (pageIndex) {
$scope.ActivityList = [];
$http.get(seagull2Url.getPlatformUrl(configURL.GetProjectList) + '?pageIndex=' + pageIndex).success(function (data) {
if (data.state) {
$scope.ActivityList = data.dataList;
$scope.pageCount = data.pageCount;
}
}).error(function (ex, state) {
alert("数据加载失败!");
});
}
}); });

AngularJs_自定义注入对象_笔记1的更多相关文章

  1. matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象

    一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matl ...

  2. Spring学习笔记3——使用注解的方式完成注入对象中的效果

    第一步:修改applicationContext.xml 添加<context:annotation-config/>表示告诉Spring要用注解的方式进行配置 <?xml vers ...

  3. Java框架spring 学习笔记(八):注入对象类型属性

    使用set方法注入对象属性 编写UserDao.java文件 package com.example.spring; public class UserDao { public void print( ...

  4. js自定义对象.属性 笔记

    <一> js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtabl ...

  5. Hive自定义函数的学习笔记(1)

    前言: hive本身提供了丰富的函数集, 有普通函数(求平方sqrt), 聚合函数(求和sum), 以及表生成函数(explode, json_tuple)等等. 但不是所有的业务需求都能涉及和覆盖到 ...

  6. Python: Json串反序列化为自定义类对象

    最近刚接触到python,就想到了如何反序列化json串.网上找了一下,大部分都是用json模块反序列化为python数据结构(字典和列表).如果对json模块不了解的参考菜鸟教程.然后我在此基础上将 ...

  7. javaScript 对象学习笔记

    javaScript 对象学习笔记 关于对象,这对我们软件工程到学生来说是不陌生的. 因为这个内容是在过年学到,事儿多,断断续续,总感觉有一丝不顺畅,但总结还是要写一下的 JavaScript 对象 ...

  8. Asp.Net Core 减少Controller获取重复注入对象

    原文:Asp.Net Core 减少Controller获取重复注入对象 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012770274/art ...

  9. 向Spring 容器中注入对象的几种方法

    1.使用@Bean 注解,用于注入第三方 jar 包到SpringIOC容器中. 2.使用 @Import({Order.class, Member.class, MyImportBeanDefini ...

随机推荐

  1. 自动的输入号码的辅助软件在ie浏览器下的尝试

    在ie下面的自动输入号码的软件,我已经折腾了好久.由于ie环境非常复杂:网页延迟这个时间一直不能准确的得到,这个时间主要包括:网络的与服务器的交换速度,网页自身的加载速度,网页的js渲染的效果的影响. ...

  2. 中间件 activeMQ Jms Java Demo

    一.什么是ActiveMQ 百度解释: ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provi ...

  3. 为什么delete指针后指针设为null(已解答)

    int *p;/*........*/delete p; p=null; 看代码的过程中,有这么一个疑问.删除了指针p,指针p既是不存在,怎么还能设置指针p为null呢?为什么还要设置为null呢? ...

  4. Docker基础知识介绍

    本节内容 1.  Docker概述 2.  Docker的安装 3.  Docker基本使用 4.  Docker相关命令汇总 5.  Docker概念理解 一  Docker概述 Docker是什么 ...

  5. 微信 SQLite 数据库修复实践

    1.前言 众所周知,微信在后台服务器不保存聊天记录,微信在移动客户端所有的聊天记录都存储在一个 SQLite 数据库中,一旦这个数据库损坏,将会丢失用户多年的聊天记录.而我们监控到现网的损坏率是0.0 ...

  6. 【腾讯Bugly干货分享】iOS App 签名的原理

    本文来自 WeRead 团队博客: http://wereadteam.github.io/ iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,Ce ...

  7. 目标检测算法(1)目标检测中的问题描述和R-CNN算法

    目标检测(object detection)是计算机视觉中非常具有挑战性的一项工作,一方面它是其他很多后续视觉任务的基础,另一方面目标检测不仅需要预测区域,还要进行分类,因此问题更加复杂.最近的5年使 ...

  8. 【高速接口-RapidIO】6、Xilinx RapidIO核仿真与包时序分析

    提示:本文的所有图片如果不清晰,请在浏览器的新建标签中打开或保存到本地打开 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:Vivado2015.4.2 ...

  9. Javascript高级编程学习笔记(80)—— 表单(8)表单序列化

    表单序列化 随着 Ajax 的出现,表单序列化成为一种常见需求 以将表单信息序列化为查询字符串为例 我们可以利用表单的 type 属性,以及 name 和 value 实现对表单的序列化 序列化应满足 ...

  10. [Postman]排除API请求(9)

    可能存在API无法运行或出现意外行为的情况.如果您没有收到任何回复,邮递员将显示有关连接服务器时出错的消息. 有关错误可能原因的更多详细信息,请打开Postman Console.它有关于故障的详细信 ...