在离子v1 app中定义angularJS中的全局常量

时间:2017-06-12 11:05:01

标签: ionic-framework

我正在构建一个离子v1应用程序,我想将我的url保存为全局常量或字符串,并根据需要在应用程序的任何位置使用它。如何做到这一点?

3 个答案:

答案 0 :(得分:1)

appname.constant('CONSTANTS', {
    TEMPLATE_PATH: {
        LOGIN: {
            LOGIN_PAGE: 'app/Auth/template/log-in.html',
            //balance
        }   
        }
    }

这是我们定义常量的一种格式,您可以随时使用它

templateUrl: CONSTANTS.TEMPLATE_PATH.LOGIN.LOGIN_PAGE

保持每个模块分开,如Login,Home ..等,以便更好地使用

答案 1 :(得分:0)

你可以创建一个文件" constants.js"并创建一个自调用函数,将您声明的每个常量实例化为角度常量。

(function() {
    'use strict';

    function constants() {
        return {
            'SERVER': {
                url: 'http://' + ip_back_end + ':' + porta_back_end + '/' + name_app_back_end
            }
        };
    }

   // I'm using lodash here, but you can do it the same way as angular foreach
    _.forEach(constants(), function(value, key) {
        angular.module('app').constant(key, value);
    });
})();

然后在任何其他角度组件中,您可以注入它

angular.module('todo', ['ionic'])

.controller('TodoCtrl', function($scope, SERVER) {
  $scope.tasks = [
    { title: 'Collect coins' },
    { title: 'Eat mushrooms' },
    { title: 'Get high enough to grab the flag' },
    { title: 'Find the Princess' }
  ];
})

答案 2 :(得分:0)

我使用了这段代码并且有效:

app.constant('configSettings', {
  'baseUrl': 'http://www.google.com',
  'someElseSetting': 'my new Value'
});

app.controller('myCtrl', function($scope, configSettings){
  console.log(configSettings.baseUrl);
  $scope.baseUrl = configSettings.baseUrl;

});
相关问题