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

本文共 1248 字,大约阅读时间需要 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;    ...})

 

转载地址:http://jqghl.baihongyu.com/

你可能感兴趣的文章
为什么我不同意建房子
查看>>
使用webpack实现jquery按需加载
查看>>
phalcon queueing使用心得
查看>>
The difference between hard and soft links
查看>>
Python学习日记---字符串
查看>>
脚本入门之算术运算
查看>>
授之以渔-运维平台Saltstack Web 管理一(Returnner篇)
查看>>
PHP操作XML(二)——单词翻译功能
查看>>
Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析(5)...
查看>>
Struts2、Spring和Hibernate应用实例
查看>>
计算webView的高度
查看>>
把常见的编码类型文件(ASCI、Unicode、utf-8)读出到std::string中
查看>>
linux下tomcat服务的相关命令
查看>>
webstorm 配置autoprefixer 【转】
查看>>
Netty中TCP粘包问题代码示例与分析
查看>>
Windows下的常用快捷键
查看>>
我的友情链接
查看>>
水平分库如何做到平滑扩展
查看>>
设置nexus远程Maven仓库索引下载
查看>>
重新思考如何使用SIEM产品
查看>>