将角度参数发送到外部JS文件

时间:2019-06-04 16:31:59

标签: javascript angularjs file parameters external

将参数从AngularJS发送到JS文件

几天来,我一直在尝试将信息从Angular发送到外部JS文件。 我已经厌倦了ng-model,ng-init,ng-bind和两种方式的指令

<body lang="en" ng-app="app" ng-model="baseUrl='http://example.com'" >
<body lang="en" ng-app="app" ng-init=="baseUrl='http://example.com'" >

---- javascript

var app = angular.module('app', ['ui.grid','ui.grid.pagination']);
var baseUrl;

等...

我从Angular指令中看到的一切都是从Java脚本变量获取数据。我需要设置一个从Angular到JS文件的变量。

我发现的唯一方法是使用

    <script>
    var global = {
        baseUrl: 'http://example.com'
    };    
    </script>

在我声明

之前
<body lang="en" ng-app="app" ng-model="baseUrl='http://example.com'" >

在HTML

这不是我的选择。还有另一种解决方法吗? 任何反馈意见表示赞赏:)

1 个答案:

答案 0 :(得分:0)

您不应使用指令来修改全局数据-这是服务或有时是控制器的工作。但是,如果您想忽略此建议,则需要将逻辑放入该指令的生命周期方法中。例如,您可以将其添加到链接功能。这是一个可怕的骇客,但我已经提到了。

var myModule = angular.module(...);

myModule.directive('directiveName', function factory(injectables) {
  var directiveDefinitionObject = {
    link: function postLink(scope, iElement, iAttrs) { 
       window.myGlobalVariable = 'Living dangerously';
    }
  };
  return directiveDefinitionObject;
});