Angular2等价于$document.ready()

前端之家收集整理的这篇文章主要介绍了Angular2等价于$document.ready()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
简单的问题,我希望。

我想运行一个脚本当$ document.ready()的Angular2等价物被触发。什么是实现这个的最好的方法

我试过把脚本放在index.html的末尾,但是我发现,这不工作!我认为它必须在某种类型的组件声明?

是否可以从.js文件运行加载脚本?

编辑 – 代码

我有以下js和css插件注入我的应用程序(从Foundry html theme)。

<link href="css/themify-icons.css" rel="stylesheet" type="text/css" media="all" />
    <link href="css/bootstrap.css" rel="stylesheet" type="text/css" media="all" />
    ...


    <script src="js/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/flexslider.min.js"></script>
    ...
    <script src="js/scripts.js"></script> //This initiates all the plugins

如上所述,scripts.js实例化了整个事物,因此需要在Angular准备好之后运行。 script.js

工作原理:

import {Component,AfterViewInit} from 'angular2/core';

@Component({
  selector: 'home',templateUrl: './components/home/home.html'
})
export class HomeCmp implements AfterViewInit {


    ngAfterViewInit() {
       //Copy in all the js code from the script.js. Typescript will complain but it works just fine
    }
你可以在你的Angular根组件的ngOnInit()中自己触发一个事件,然后在Angular之外监听这个事件。

这是Dart代码(我不知道TypeScript),但不应该难以翻译

@Component(selector: 'app-element')
@View(
    templateUrl: 'app_element.html',)
class AppElement implements OnInit {
  ElementRef elementRef;
  AppElement(this.elementRef);

  void ngOnInit() {
    DOM.dispatchEvent(elementRef.nativeElement,new CustomEvent('angular-ready'));
  }
}
原文链接:https://www.f2er.com/angularjs/145181.html

猜你在找的Angularjs相关文章