由于我对Angular和jQuery的混合有一些不好的经验,我试图避免Angular中的jQuery。现在,我应该为我的Angular项目添加一些代码,但我不确定如何转换它。代码来自希望我在项目中实现此功能的其他人。
在我的项目中,我已将所有必需的库添加到index.html中。我认为这是唯一可以添加库的地方。
有人知道(如果有办法)如何将这些jquery代码行转换为Angular或javascript代码?在项目中我应该添加这个?
$('head').append( '<meta name="PAGENAME" content="$pagename">' );
$(document).ready(function() {
$.getScript( "https://www.website.com/crsc/scripts/script.js" )
.done(function( script, textStatus ) {
console.log( 'loaded test' );
})
.fail(function( jqxhr, settings, exception ) {
console.log('not loaded');
});
});
答案 0 :(得分:3)
您可以使用app.run
,它会在应用加载所有内容之前像main method
一样运行
app.run(["scriptService"],function(scriptService){
scriptService.GetScripts()
.then(function(success){console.log("loaded test");},
function(error){ console.log("not loaded");}
}]);
接下来你需要做的就是制作一个脚本服务。
app.factory("scriptService", ["$http", function ($http) {
this.GetScripts = function ()
{
return $http.get(""https://www.website.com/crsc/scripts/script.js") .then(function(result) { return result});
}
但实际上为什么你不只是通过脚本标签导入脚本? 加载脚本async,因为op不知道这是一个选项我想我会把它包含在这里ww3 schools async loading
<script src="demo_async.js" async></script>
定义和用法async属性是一个布尔属性。
如果存在,则指定将执行脚本 一旦可用就异步。
注意:async属性仅适用于外部脚本(并且应该 仅在存在src属性时使用。)
注意:有几种方法可以执行外部脚本:
如果存在异步:脚本与异步执行 页面的其余部分(脚本将在页面继续时执行 解析)如果不存在异步并且存在延迟:脚本 在页面完成解析时执行如果既不是异步也不是 延迟存在:脚本被提取并立即执行, 在浏览器继续解析页面浏览器支持之前 表中的数字指定完全的第一个浏览器版本 支持该属性。