Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度4与ngx无限卷轴_Javascript_Angularjs_Infinite Scroll_Nginfinitescroll - Fatal编程技术网

Javascript 角度4与ngx无限卷轴

Javascript 角度4与ngx无限卷轴,javascript,angularjs,infinite-scroll,nginfinitescroll,Javascript,Angularjs,Infinite Scroll,Nginfinitescroll,我试图在我的Angular 4项目中添加一个带有的无限卷轴 数组数据大约有800个来自API的帖子 最初,我想显示20篇文章,每滚动一次页面,就会显示20篇以上的文章 目前,每当我向下滚动时,都可以看到控制台日志消息(滚动!) 但我不知道在滚动时如何在表中追加20篇文章 这就是我正在尝试的代码 向下滚动功能 onScrollDown(){ this.dataService.getPosts().subscribe((posts)=>{ for (let po

我试图在我的Angular 4项目中添加一个带有的无限卷轴

数组数据大约有800个来自API的帖子

最初,我想显示20篇文章,每滚动一次页面,就会显示20篇以上的文章

目前,每当我向下滚动时,都可以看到控制台日志消息(滚动!)

但我不知道在滚动时如何在表中追加20篇文章

这就是我正在尝试的代码

向下滚动功能

onScrollDown(){        
  this.dataService.getPosts().subscribe((posts)=>{
      for (let post of posts){
       let data = '<tr><td>'+ post.title +'</td><td>'+ post.geo +'</td><td>'+ post.Telephone +'</td><td>'+ post.category +'</td><td>Detail</td></tr>';
       $('table.feed tbody').append(data);
      }
});

首先,像这样保存原始数组

 this.dataService.getPosts().subscribe((response)=>{                  
               this.originalPosts = response;
               this.posts = response.slice(0,20);
          });

 onScrollDown(){
   if(this.posts.length < this.originalPosts.length){  
     let len = this.posts.length;

     for(i = len; i <= len+20; i++){
       this.posts.push(this.originalPosts[i]);
     }
   }
 }
this.dataService.getPosts().subscribe((响应)=>{
这个。原始alposts=响应;
this.posts=response.slice(0,20);
});
onScrollDown(){
如果(this.posts.length对于(i=len;实际上,我只是对jquery有一点了解,我对angular非常陌生,尤其是angular 4。谢谢@NiravAdatiya@NiravAdatiya我认为posts.slice(0,20)应该是response.slice(0,20),因为posts没有定义。
    import { Component, OnInit } from '@angular/core';
    import { DataService } from '../../services/data.service';
    import { FilterPipe } from '../../filter.pipe';
    declare var jquery:any;
    declare var $ :any;

    @Component({
      selector: 'feed',
      templateUrl: './feed.component.html',
      styleUrls: ['./feed.component.css']
    })

    export class FeedComponent implements OnInit {

    term : '';
    posts: Post[];

      constructor(private dataService: DataService) { }

      ngOnInit() {
          this.dataService.getPosts().subscribe((posts)=>{
              this.posts = posts.slice(0,10);
          });
      }

    onScrollDown(){     
         console.log("scrolled!");   
    }

    interface Post{
        id:number, 
        title:string,
        contact:string,
        Address:string,
        Telephone:number,
        Email:string, 
        Website:string, 
        Establishment:string,
        sector:string,
        category:string,
    }
 this.dataService.getPosts().subscribe((response)=>{                  
               this.originalPosts = response;
               this.posts = response.slice(0,20);
          });

 onScrollDown(){
   if(this.posts.length < this.originalPosts.length){  
     let len = this.posts.length;

     for(i = len; i <= len+20; i++){
       this.posts.push(this.originalPosts[i]);
     }
   }
 }