fab*_*xis 3 javascript service angularjs
我想知道如何获取服务中变量的值,我有以下代码:
myModule.service('notify', ['$window', function(win) {
var msgs = []; // I want to read this variable
this.message = function(msg) {
msgs.push(msg);
if (msgs.length == 3) {
win.alert(msgs.join("\n"));
msgs = [];
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
我想从控制器读取msgs变量.
使用var声明变量使它们在函数范围内是局部的.如果要公开它,可以将其存储在对象本身上.
myModule.service('notify', ['$window', function(win) {
this.msgs = []; // I want to read this variable
this.message = function(msg) {
this.msgs.push(msg);
if (this.msgs.length == 3) {
win.alert(this.msgs.join("\n"));
this.msgs = [];
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过阅读检索服务上的消息
service.msgs
Run Code Online (Sandbox Code Playgroud)
更好的模式是创建一个getter方法来检索消息.
myModule.service('notify', ['$window', function(win) {
var msgs = []; // I want to read this variable
this.getMessages = function () {
return msgs;
};
this.message = function(msg) {
msgs.push(msg);
if (msgs.length == 3) {
win.alert(msgs.join("\n"));
msgs = [];
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过致电检索您的消息
service.getMessages();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7056 次 |
| 最近记录: |