烧仙草VB
如果您只想存储一个值,请按照关于提供者的角度文档,您应该使用值配方:varmyApp=angular.module('myApp',[]);myApp.value('clientId','a12345654321x');然后在这样的控制器中使用它:myApp.controller('DemoController',['clientId',functionDemoController(clientId){
this.clientId=clientId;}]);使用提供者、工厂或服务可以实现同样的目标,因为它们“只是提供者配方上的语法糖”,但是使用值可以最小的语法实现您想要的结果。另一种选择是使用$rootScope,但它并不是一个真正的选项,因为您不应该使用它的原因与您不应该在其他语言中使用全局变量的原因相同。它是建议被谨慎地使用。因为所有作用域都是从$rootScope,如果您有一个变量$rootScope.data有人忘记了data已定义并创建$scope.data在本地范围内,您将遇到问题。如果您想修改这个值并让它在所有控制器上持久存在,请使用一个对象并修改属性,记住Javascript是经过的。“提述副本”:myApp.value('clientId',{value:'a12345654321x'});myApp.controller('DemoController',['clientId',functionDemoController(clientId){
this.clientId=clientId;
this.change=function(value){
clientId.value='somethingelse';
}}];JSFiddle示例