[angular]服务之4$window
来源:互联网 发布:wap网站源码 编辑:程序博客网 时间:2024/06/05 22:32
<!DOCTYPE html><html lang="en" ng-app="testServiceWindow"><head> <meta charset="UTF-8"> <title>测试$window服务</title> <script src="../frameWork/angular.js"></script> <script src="../testService/testServiceWindow.js"></script></head><body ng-controller="ctr1.normal"> <button ng-click="ask(false,'您输入的内容不正确')">提示</button> <button ng-click="ask(true,'确定删除?')">询问</button><dir1> <controller-normal-title><span>我是title</span></controller-normal-title> <controller-normal-content><span>我是content</span></controller-normal-content></dir1></body></html>
/** * 摘要:由于service在angular中的地位非常重要,所以得认真对待。 * 服务是一个单例对象,与应用同生死,能够注入,是controller之间通讯的主要工具。 * (通信还可以用$emit,$broadcast,$on的形式,但这个方式有局限,两个controller得有关系,以后研究). * 服务依赖provider,这个provider一般是module. * service实例分析第四篇:$window服务 * Created by liyanq on 16/12/26. */var testServiceWindow = angular.module("testServiceWindow",[]);var serviceConfirmFun = function ($window) { return function (msg) { return $window.confirm(msg) ? console.log("确定"): console.log("取消"); };};var serviceConfirmAndAlertFun = function ($window,serviceConfirm) { return function (isConfirm,msg) { return isConfirm?serviceConfirm(msg):$window.alert(msg); };};var ctr1Fun = function($scope,ca){ $scope.ask = function (isConfirm,msg) { ca(isConfirm,msg); }};var dirFun = function (serviceConfirmAndAlert) { var dir = {}; dir.restrict = "E"; dir.replace = false; dir.transclude = { title: "?controllerNormalTitle", content: "?controllerNormalContent" }; dir.template = "<div>我是模版的内容</div>" + "<div ng-transclude='title'></div>"+ "<button ng-click='ask(false,str)'>提示</button>" + "<button ng-click='ask(true,str)'>询问</button>" + "<div ng-transclude='content'></div>"; dir.link = function (scope) { scope.ask = function (isConfirm,msg) { serviceConfirmAndAlert(isConfirm,msg); }; scope.str = "ControllerNormal的link执行了"; }; return dir;};testServiceWindow.service("serviceConfirm",["$window", serviceConfirmFun]);testServiceWindow.service("serviceConfirmAndAlert",["$window","serviceConfirm", serviceConfirmAndAlertFun]);testServiceWindow.controller("ctr1.normal",["$scope","serviceConfirmAndAlert",ctr1Fun]);testServiceWindow.directive("dir1",["serviceConfirmAndAlert",dirFun]);
0 0
- [angular]服务之4$window
- Angular之$resource服务
- Angular之$resource服务
- [angular]服务之3$injector
- [angular]服务之1创建自定义服务
- Angular的服务之自定义服务
- angular服务
- angular-服务
- Angular服务
- angular 服务
- angular服务
- Angular服务
- angular 服务
- Angular服务
- Angular 服务
- Angular.js之服务与自定义服务学习笔记
- Angular 4入门教程系列:6:Tour Of Heroes之服务和依赖注入
- [angular]服务之2$scope之$watch、$watchGroup、$watchCollection
- SQLite数据存储的基本用法
- 《从零开始学Swift》学习笔记(Day 61)——Core Foundation框架之内存管理
- ios 简单模仿随便走的AR功能一
- jsp的九大内置对象和作用域
- js运动框架
- [angular]服务之4$window
- AppCompat 夜间模式中旋转屏幕重启Activiy的bug
- C++调用C文件或者 C函数
- 在Kettle里使用快照实现变化数据捕获(CDC)
- vs2010 release 调试
- java读取大文本文件
- Idea+Maven+Spring+SpringMVC+MyBatis环境搭建
- 弧形进度条,用到PorterDuffXfermode
- Spring基础:快速入门spring cloud(2):服务发现之eureka