【问题标题】:Sending Angular Parameters to external JS file将 Angular 参数发送到外部 JS 文件
【发布时间】:2019-06-04 16:31:59
【问题描述】:

从 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 中

这不是我的选择。还有其他方法吗? 任何反馈表示赞赏:)

【问题讨论】:

    标签: javascript angularjs file parameters external


    【解决方案1】:

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

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

    【讨论】:

    • 问题是将全局配置变量(例如 URL)发送到外部 JavaScript 文件。你是说这可以通过角度服务来完成吗?老实说,我开始将这个外部 JS 转换为打字稿。不是 JS 高手,但我正在学习 :)
    • @deathsonic 老实说,我不确定您要做什么。术语“发送变量”和“外部 javascript 文件”在这种情况下对我来说没有意义。这个答案是我对你的意思的最佳猜测。
    猜你喜欢
    • 1970-01-01
    • 2021-08-26
    • 2018-09-14
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2019-12-13
    • 2016-09-02
    • 1970-01-01
    相关资源
    最近更新 更多