我试图在角5中使用滑块库轻盈,但是失败了,因为它做了一些dom操作,角不喜欢。
在他们的描述中,你必须这样使用它:
<div class="gallery">
<div>slide 1</div>
<div>slide 2</div>
<div>
这是可行的,但我不想将它与angulars *ngFor
一起使用,比如:
<div class="gallery">
<div *ngFor="let slide of slides;">slide </div>
<div>
但是因为flickity将‘s添加到div flickity-viewport
和flickity-slider
中,并将幻灯片放进去,所以角不喜欢它。
<div class="gallery">
<div class="flickity-viewport">
<div class="flickity-slider">
since the two outer divs are created dynamically by the lib, the items in here are falling out back to the `.gallery` div
</div>
</div>
</div>
因此,在滑动时,slides
将从.flickity-slider
中删除并添加到.gallery
中(可能是因为*ngFor是在.gallery
中初始化的)。
你知道我能让这件事起作用吗?
发布于 2018-01-25 16:31:20
Angular正在重建DOM,因为我没有使用trackBy
函数。使用它时,它不需要重新构建DOM,flickity
可以使用*ngFor。
发布于 2018-01-25 14:35:48
可以尝试将组件上的封装设置为ViewEncapsulation.None。
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.html',
encapsulation: ViewEncapsulation.None
})
export class MyComponent implements OnInit {
ngOnInit() { }
}
https://stackoverflow.com/questions/48439512
复制相似问题