扫码关注官方订阅号
在service中声明了一个对象并且在内部给这个对象赋值,但是到controller中调用的时候,对象是空的。
//service.js var test = {}; test = data; //controller console.log(service.test);
输出为空,求解?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
取决于你的service怎么写的,正确姿势:
service
app.service('TestService', function(){ this.sayHi = function(){ alert('hello world'); }; });
你在调用的地方,就可以这么使用:
app.controller('TestController', function($scope, TestService){ TestService.sayHi(); });
你可以看看下面这个例子,传送门。
如果上面的地址不能够访问的话,可以看一看下面的代码;是上面的主要部分。JavaScript:
(function() { angular.module('MyApp', []) .service('MyService', MyService) .controller('MainCtrl', MainCtrl) MyService.$inject = []; MainCtrl.$inject = ['MyService']; function MyService() { var service = { sayHello: sayHello }; return service; function sayHello() { console.log('Hi, dreamapple!'); } } function MainCtrl(MyService) { var vm = this; vm.name = 'dreamapple'; vm.say = say; function say() { console.log(MyService); // 这里就是上面你定义的服务 MyService.sayHello(); } } })();
HTML
<body ng-app="MyApp"> <p ng-controller="MainCtrl as vm"> <button ng-click="vm.say()">click me</button> </p> </body>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
取决于你的
service怎么写的,正确姿势:你在调用的地方,就可以这么使用:
你可以看看下面这个例子,传送门。
如果上面的地址不能够访问的话,可以看一看下面的代码;是上面的主要部分。
JavaScript:
HTML