【问题标题】:Use javascript var in AngularJS constant在 AngularJS 常量中使用 javascript var
【发布时间】:2021-11-19 11:36:48
【问题描述】:

我想在 AngularJS 常量中使用来自普通旧 javascript 文件的 var。那可能吗。以下是我尝试过的。

Javascript 文件:

"use strict";

var CONST_MAP = {
  'key': 'value'
};

AngularJS 文件:

'use strict';

angular.module('foo').constant('bar', {
    'test': CONST_MAP
});

【问题讨论】:

  • 抱歉,没有答案,但我只是想知道您为什么要使用 var 而不是 const

标签: javascript angularjs


【解决方案1】:

可以使用角度providers

var CONST_MAP = {
  'key': 'value'
};
var app = angular.module('myApp', []);
app.constant('bar', {
  'test': CONST_MAP
})
app.controller('myCtrl', function ($scope, bar) {
  console.log(bar)
  $scope.name = bar.test.key;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
  {{ name }}
</div>

【讨论】:

  • 但我希望我的 javascript 变量在一个单独的文件中。
  • 您可以将它们导入到您的文件中并使用它
  • 如何导入 javascript 文件?
  • 您可以使用import { CONST_MAP } from "./path/to/your/file" 导入,并且必须从文件中导出与export var CONST_MAP = { 'key': 'value' } 相同的变量
  • 我收到以下错误:>>错误:由于解析错误无法处理源>>“导入”和“导出”可能只出现在“源类型:模块”中
【解决方案2】:

我认为你可以这样做:

angular.module('foo').constant('bar', (function(){
    var CONST_MAP = {
      'key': 'value'
    };
    return {
       test: CONST_MAP
    }
}));

【讨论】:

  • 但我希望我的 javascript 变量在一个单独的文件中。
  • Aham,比检查@Nitheesh 的答案
猜你喜欢
  • 1970-01-01
  • 2015-06-15
  • 1970-01-01
  • 2011-12-12
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 2014-04-04
相关资源
最近更新 更多