存储静态值以在Angular表达式中使用的最佳方法是什么?

时间:2015-06-05 09:36:10

标签: angularjs

我有一些静态配置类似的值,在整个Web应用程序中使用。目前我正在创建指令将它们放入var address = address; var amount = 0; function changeAmount() { var page=require('webpage').create(); page.open (address, function(){ //parse json, set amount to something (usually 4) amount = 4; }); } changeAmount(); console.log(amount); //prints 0 //Do stuff with amount phantom.exit(); //amount not changed yet. ,但这看起来非常浪费。

角度表达式是否有办法直接访问某些模块或Javascript全局范围中定义的某种“静态”值?

2 个答案:

答案 0 :(得分:2)

首先,考虑是否可以使用全局/静态...

如果是这样,请将您的静态定义为angular的值:

incomingNumber

您可以使用具有正常依赖注入的代码中的那些全局变量;使用run函数将它们放在angular.module('globals', []) .value('serverConfig', 'xyz') .value('foo', { x:4, y: 5 }) // etc 中,以便它们也可以在表达式中使用:

$rootScope

如果您只需要在表达式中使用它们,只需使用angular.module(...) .run(['$rootScope', 'serverConfig', 'foo', function($rootScope, serverConfig, foo) { $rootScope.serverConfig = serverConfig; $rootScope.foo = foo; // etc }]); 函数。

答案 1 :(得分:0)

你可以在angularjs中使用常量,这会很有用。

module.constant(name,object);

module.value(name,object);

你可以在html5中使用localStorage(它不能存储对象),用于存储对象使用localStorageModule第三方js