带有我的模板的外部脚本
External script with my template
当我的 angularJS 表单带有控制器和其他依赖项时,我想不出如何在 javascript 中制作外部脚本供外部使用。
我制作了一个本地 angularJS 表单,它使用 angular material 设计对话框服务,我需要制作一个外部脚本,它将打开与本地显示相同的对话框。可能,我不希望外部网络应用程序包含 angularJS 和我的整个应用程序,我只需要用我的表单打开一个 Material 设计对话框并将信息发送到我的控制器。有可能吗?
此外,我发现了一些类似的东西,可能对我有帮助,但我不知道它是否真的对我有帮助,因为我需要将所有依赖项包含到该模板中?
我很想听听您对这项任务的所有想法和建议。
希望我理解正确。
它的作用是,当您单击 link 时,它会插入 angular 脚本标记,等待它加载,为 angular 插入几个 div(这些将是你的模式),最后引导 angular 应用程序。
这主要是普通 JS
script.js
$('#launcher').click(function(){
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js';
script.async = true;
script.onreadystatechange = script.onload = function() {
var state = script.readyState;
if ((!state || /loaded|complete/.test(state))) {
var body = document.getElementsByTagName('body')[0];
var divApp = document.createElement('div');
var divCtrl = document.createElement('div');
divApp.setAttribute("ng-app", "plunker");
divCtrl.setAttribute("ng-controller", "MainCtrl");
divApp.appendChild( divCtrl );
divCtrl.innerHTML = "{{ name }}";
body.insertBefore(divApp, body.firstChild);
angular.module('plunker', [])
.controller('MainCtrl', function($scope){
$scope.name = "Hello";
})
angular.bootstrap(divApp, ['plunker']);
}
};
var head = document.head || document.getElementsByTagName('head')[0];
head.insertBefore(script, head.firstChild);
});
index.html
<a href="#" id="launcher"> Launch Modal </a>
<script src="script.js"></script>
当我的 angularJS 表单带有控制器和其他依赖项时,我想不出如何在 javascript 中制作外部脚本供外部使用。
我制作了一个本地 angularJS 表单,它使用 angular material 设计对话框服务,我需要制作一个外部脚本,它将打开与本地显示相同的对话框。可能,我不希望外部网络应用程序包含 angularJS 和我的整个应用程序,我只需要用我的表单打开一个 Material 设计对话框并将信息发送到我的控制器。有可能吗?
此外,我发现了一些类似的东西,可能对我有帮助,但我不知道它是否真的对我有帮助,因为我需要将所有依赖项包含到该模板中?
我很想听听您对这项任务的所有想法和建议。
希望我理解正确。
它的作用是,当您单击 link 时,它会插入 angular 脚本标记,等待它加载,为 angular 插入几个 div(这些将是你的模式),最后引导 angular 应用程序。
这主要是普通 JS
script.js
$('#launcher').click(function(){
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js';
script.async = true;
script.onreadystatechange = script.onload = function() {
var state = script.readyState;
if ((!state || /loaded|complete/.test(state))) {
var body = document.getElementsByTagName('body')[0];
var divApp = document.createElement('div');
var divCtrl = document.createElement('div');
divApp.setAttribute("ng-app", "plunker");
divCtrl.setAttribute("ng-controller", "MainCtrl");
divApp.appendChild( divCtrl );
divCtrl.innerHTML = "{{ name }}";
body.insertBefore(divApp, body.firstChild);
angular.module('plunker', [])
.controller('MainCtrl', function($scope){
$scope.name = "Hello";
})
angular.bootstrap(divApp, ['plunker']);
}
};
var head = document.head || document.getElementsByTagName('head')[0];
head.insertBefore(script, head.firstChild);
});
index.html
<a href="#" id="launcher"> Launch Modal </a>
<script src="script.js"></script>