Jquery 角2同位素
如何将同位素jquety lib与angular2和可观测值结合使用。当我从服务器获取数据时,我想应用同位素。目前我有:Jquery 角2同位素,jquery,angular,jquery-isotope,observable,Jquery,Angular,Jquery Isotope,Observable,如何将同位素jquety lib与angular2和可观测值结合使用。当我从服务器获取数据时,我想应用同位素。目前我有: import {Component} from "angular2/core"; import {Heroes} from "./heroes"; import {ApiclientService} from "./apiclient.service"; @Component({ templateUrl: 'heroes-list.html', provid
import {Component} from "angular2/core";
import {Heroes} from "./heroes";
import {ApiclientService} from "./apiclient.service";
@Component({
templateUrl: 'heroes-list.html',
providers: [ApiclientService]
})
export class HeroesComponent {
public Heroes: Heroes[] = [];
constructor(private _apiclientService: ApiclientService) {
this.getHeroes();
}
getHeroes() {
this._apiclientService.getHeroes()
.subscribe(
heroes => this.heroes = heroes,
error => this.errorMessage = <any>error);
}
ngAfterViewInit() {
$(document).ready(function() {
$('.heroes-grid').isotope({
itemSelector: '.heroes-item'
});
});
}
}
从“angular2/core”导入{Component};
从“/HERONES”导入{HERONES};
从“/apiclient.service”导入{ApiclientService};
@组成部分({
templateUrl:'英雄列表.html',
提供者:[ApiclientService]
})
导出类HeroesComponent{
公众英雄:英雄[]=[];
构造函数(专用apiclientService:apiclientService){
这个。getheros();
}
getHeroes(){
这是.\u apiclientService.getheromes()
.订阅(
英雄=>这个。英雄=英雄,
error=>this.errorMessage=error);
}
ngAfterViewInit(){
$(文档).ready(函数(){
$('.heroes网格')。同位素({
项目选择器:'.heroes项目'
});
});
}
}
这不起作用,因为jquery是在可观察的subscribe方法返回一些数据之前解析的。如果我调用同位素后,观察到的是解决,也没有成功。处理这种情况的最佳方法是什么。如何将jquery插件和Observable结合起来?如果您仍然无法解决这个问题,一个问题可能是您需要将同位素初始化绑定到window onLoad事件,而不是document onready,以确保所有图像都已加载 此外,在heroes服务订阅处理程序中,您可能需要调用同位素插入方法,以使同位素容器了解新元素:
var newItems = $('.blog-masonry-item');
$('.blog-masonry-container').isotope('insert', newItems);