我刚刚了解到Angular有全局变量:
var app = angular.module('mySuperDuperApp', ['SomeExternalModule']);
// Define global variables
app.value('globals', {
db : null,
databasename : "serviceapp",
image_max_height: 620,
image_quality: 0.7
}
);
Run Code Online (Sandbox Code Playgroud)
有关使用的一些问题.
加载到value提供者中的变量在传统意义上并不是真正的全局变量.它不在全球名称空间中.提供者需要在您使用它的任何地方注入,因此它更像OO意义上的对象.
一个value提供者是一个办法,让许多不同的组件访问变量,所以我明白你为什么称它是全球性的.但是,在value没有实际全局变量风险的情况下,a 是一种分享数据的好方法.
您可以在这里查看不同类型的提供商,您将看到的提供商文档value只是一个.
1)你可以改变一个角度value (但不是一个const密切相关的角度)
2)你需要value在你使用它的任何地方注入它,然后在它前面添加你的名字.value例如:
app.controller('Ctrl', function($scope, global ) {
console.log(global.db);
global.databasename = "newname";
});
Run Code Online (Sandbox Code Playgroud)
3)如果将值复制到适当的范围,则可以从HTML访问该值:
app.controller('Ctrl', function($scope, global ) {
$scope.db = global.db;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |