博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Angularjs调用公共方法与共享数据
阅读量:5951 次
发布时间:2019-06-19

本文共 1297 字,大约阅读时间需要 4 分钟。

 

  这个问题场景是在使用ionic开发页面的过程中发现,多个页面对应的多个controller如何去调用公共方法,比如给ionic引入了toast插件,如何将这个插件的调用变成公共方法或者设置成工具类,因为在每个controller中直接注入这个toast插件显然不是一个优秀的代码之道,将来这个toast插件接口变化了咋整?

  很显然我们应该对这个插件的调用进行一层简单包装,可以创建一个service,然后在这个service里面包装这个插件,最后把service注入到controller里面

service.js

angular.module('starter.services', ['ionic-toast']).factory('utilService', function(ionicToast) {    return {        //toast plugin api doc: http://market.ionic.io/plugins/ionictoast        toast:function(msg){            ionicToast.show(msg, 'top', false, 2500);        },        showToast:function(msg){            ionicToast.show(msg, 'top', true, 2500);        },        hideToast:function(){            ionicToast.hide();        }    }})

controller.js

共享数据道理一样,我们可以定义个dataService的对象来包含共享数据

.factory('dataService', function() {            var itList = [            { id: 0 },        { id: 1 },        { id: 2 },        { id: 3 },        { id: 4 },        { id: 5 },        { id: 6 },        { id: 7 },        { id: 8 },        { id: 9 },        { id: 10 }        ];        var service={            data:itList,        };      return service;    });

然后在controller里面注入

.controller('ComponentCtrl', function($scope,  dataService) {    ...    $scope.items = dataService.data;    ...})

 

转载于:https://www.cnblogs.com/jager/p/5330092.html

你可能感兴趣的文章
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>
docker管理平台 shipyard安装
查看>>
Bootstrap3 栅格系统-简介
查看>>
ADODB类库操作查询数据表
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
sed处理文本
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
如何辨别android开发包的安全性
查看>>
Eclipse Java @Override 报错
查看>>
交换机之间的VLAN通信(trunk)
查看>>
heartbeat-gui
查看>>