将AOS库与Angular4应用程序集成

Pet*_*son 6 jquery jquery-plugins angular angular-animations

我正在开发Angular 4.4.6应用程序,我想使用强大的插件AOS在滚动上实现一些动画

我的代码:

app.component.ts

import * as AOS from 'aos';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.scss'],
 encapsulation:ViewEncapsulation.None
})
export class AppComponent implements OnInit {
 ngOnInit(){
  AOS.init();
 }
}
Run Code Online (Sandbox Code Playgroud)

app.component.html

<div class="box" data-aos="slide-left">
      <img src="assets/imgs/seo.png" alt="">
</div>
Run Code Online (Sandbox Code Playgroud)

angulr.cli.json

"styles": [
    "../node_modules/aos/dist/aos.css",
    "../node_modules/animate.css/animate.min.css",
    "styles.scss"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.js",
    "../node_modules/aos/dist/aos.js"
  ],
Run Code Online (Sandbox Code Playgroud)

我在这里尝试了答案,没有希望 /sf/answers/3136594751/

注意:我的控制台中没有错误.

Mar*_*ula 11

我正在尝试为我正在迁移到Angular 4.2.4的网站工作.由于您在AOS样式表中包含了AOS样式表的路径,angular.cli.json您可能已经通过以下方式安装了AOS:

npm install aos --save
Run Code Online (Sandbox Code Playgroud)

我用以下方法运行它:

// angular.cli.json
...
"styles": [
  "../node_modules/aos/dist/aos.css",
  "styles.scss"
],
"scripts": [],
...
Run Code Online (Sandbox Code Playgroud)

和:

// app.component.ts
import { Component, OnInit } from '@angular/core';

import * as AOS from 'aos';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
  title = 'app';

  ngOnInit() {
    AOS.init();
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我在HomeComponent中有标记:

// home.component.html
...
<div data-aos="fade-up" data-aos-once="true">
  the content
</div>
...
Run Code Online (Sandbox Code Playgroud)

我可能会在将来通过Angular Dependency Injection系统探索使用AOS,如滚动到angular2时动画到视图中所描述的那样,app.component.ts到目前为止只是导入AOS .

  • 我们没有使用 `ng-cli`,所以必须从我们的入口 scss 文件中导入 css。`@import "~aos/dist/aos.css"`。奇迹般有效。多谢兄弟! (2认同)

小智 8

我在 Angular 12+ 中这样做

首先,使用终端安装 AOS

npm install --save aos
Run Code Online (Sandbox Code Playgroud)

然后安装 AOS 类型以支持打字稿。

npm install --save @types/aos
Run Code Online (Sandbox Code Playgroud)

将 AOS 样式和脚本添加到项目中: angular.json >architect > build > options >

"styles": [
   "./node_modules/aos/dist/aos.css"
 ],

"scripts": [
   "./node_modules/aos/dist/aos.js"
 ]
Run Code Online (Sandbox Code Playgroud)

将 AOS 初始化到 AppComponent 或您想要使用它的任何组件。

import * as AOS from 'aos';

ngOnInit() {
   AOS.init();
}
Run Code Online (Sandbox Code Playgroud)

在元素上使用 AOS 属性

<div data-aos="fade-up"> Your Content </div>
Run Code Online (Sandbox Code Playgroud)


cha*_*man 6

npm install aos --save
Run Code Online (Sandbox Code Playgroud)

编辑angular.cli.json

// angular.cli.json
...
"styles": [
"../node_modules/aos/dist/aos.css",
"styles.scss"
],
"scripts": [
"../node_modules/aos/dist/aos.js"
],
...
Run Code Online (Sandbox Code Playgroud)

应用组件

// app.component.ts
import { Component, OnInit } from '@angular/core';

import * as AOS from 'aos';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
  title = 'app';

  ngOnInit() {
    AOS.init();
  }
}
Run Code Online (Sandbox Code Playgroud)

在组件html中或要在其中添加动画的位置

...
<div data-aos="fade-up" data-aos-once="true">
  the content
</div>
...
Run Code Online (Sandbox Code Playgroud)

  • 这对我的 Angular9 有用。看起来 js 导入和 css 导入都是必需的。 (2认同)