将参数从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
中这不是我的选择。还有另一种解决方法吗? 任何反馈意见表示赞赏:)
答案 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;
});