angular中如何定义全局变量_AngularJS中的全局变量

烧仙草VB

如果您只想存储一个值,请按照关于提供者的角度文档,您应该使用值配方:var myApp = angular.module('myApp', []);myApp.value('clientId', 'a12345654321x');然后在这样的控制器中使用它:myApp.controller('DemoController', ['clientId', function DemoController(clientId) {

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

    this.clientId = clientId;

    this.change = function(value) {

        clientId.value = 'something else';

    }}];JSFiddle示例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值