Я новичок в угловой анимации и в настоящее время следую части руководства по Angular «Вход и выход».
Сейчас у меня есть что-то подобное
<section
class = "row justify-content-center mb-2 mb-md-4"
*ngFor = "let site of sites"
[@flyInOut] = "site.state"
>
...repeatable content
</section>
и в компоненте
import { Component, OnInit } from '@angular/core';
import { SiteService } from '../../Services/site.service';
import { Site } from './site';
import {
trigger,
state,
style,
animate,
transition
} from '@angular/animations';
declare const $;
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
providers: [SiteService ],
animations: [
trigger('flyInOut', [
state('in', style({transform: 'translateX(0)'})),
transition('void => *', [
style({transform: 'translateX(-100%)'}),
animate(100)
]),
transition('* => void', [
animate(100, style({transform: 'translateX(100%)'}))
])
])
]
})
export class HomeComponent implements OnInit {
sites: Site[] = [];
constructor(
siteService: SiteService,
public name: string,
public state: string = 'in'
) {
this.sites = siteService.getSites();
}
ngOnInit(): void {
$(function () {
$('[data-toggle = "tooltip"]').tooltip();
});
}
}
Модуль анимации импортируется в основной модуль.
Код показан. Это код домашнего компонента. Есть два параметра, которые являются строками - состояние и имя.
Ой, извините, я не увидел полосу прокрутки. Напишу ответ сразу.





Проблема в том, что у вас есть string в вашем конструкторе, и, как вы знаете, параметры в конструкторе компонентов Angular вводятся или предоставляются, что называется внедрением зависимостей. В настоящее время кажется, что у вас нет поставщика строки в вашем конструкторе.
У вас есть 2 способа сделать это:
Вам необходимо указать значение для строки, используя декоратор @Inject() для параметра конструктора, например:
constructor(siteService: SiteService, @Inject(HOME_COMPONENT_NAME) name, ...)
Где HOME_COMPONENT_NAME - это InjectionToken.
Укажите значение для строки, используя provide(string, {useValue: ...}) в вашем декораторе @Component(), например:
@Component({
providers: [SiteService, provide(string, {useValue: 'your_string_here'})]
})
export class HomeComponent {
Где 'your_string_here' - значение вашей строки.
Я предлагаю вам узнать больше о Внедрение зависимостей в Angular и обратиться к этому проблема.
Хотел бы я знать, что вы имеете в виду. Я следую руководству в точности так, как оно написано.
Ваша проблема решена или у вас все еще есть проблемы?
У вас есть параметр типа
Stringв конструкторе вашегоHomeComponent?