Javascript wordpress和angular主题在新帖子发布时更新帖子列表
嗨,我是Angular 4的新手,我想用它来构建一个使用wp api的WordPress主题。我从开始,但我和它的所有工作很好,但我需要的是,当一个新的帖子发布后,帖子列表页面更新自己,而不重新加载页面。我在angular中看到了一些关于http服务的教程,但我没有找到任何解决方案,可能是Wordpress api的问题,而不是angular部分 这是服务:Javascript wordpress和angular主题在新帖子发布时更新帖子列表,javascript,php,wordpress,angular,Javascript,Php,Wordpress,Angular,嗨,我是Angular 4的新手,我想用它来构建一个使用wp api的WordPress主题。我从开始,但我和它的所有工作很好,但我需要的是,当一个新的帖子发布后,帖子列表页面更新自己,而不重新加载页面。我在angular中看到了一些关于http服务的教程,但我没有找到任何解决方案,可能是Wordpress api的问题,而不是angular部分 这是服务: import { Injectable } from '@angular/core'; import { HttpClient } fro
import { Injectable } from '@angular/core';
import { HttpClient } from "@angular/common/http";
import { Observable } from 'rxjs/Observable';
import { Post } from './post';
import { environment } from '../../environments/environment';
@Injectable()
export class PostsService {
private _wpBase = environment.wpBase;
constructor(private http: HttpClient) { }
getPosts(): Observable<Post[]> {
return this.http.get<Post[]>(this._wpBase + 'posts');
}
getPost(slug: string): Observable<Post[]> {
return this.http.get<Post[]>(this._wpBase + `posts?slug=${slug}`);
}
}
import { Component, OnInit } from '@angular/core';
import { Post } from '../post';
import { PostsService } from '../posts.service';
import { Router } from '@angular/router';
import { HttpErrorResponse } from '@angular/common/http';
@Component({
selector: 'app-post-list',
templateUrl: './post-list.component.html',
styleUrls: ['./post-list.component.css'],
providers: [PostsService]
})
export class PostListComponent implements OnInit {
public posts: Post[];
constructor( private postsService: PostsService, private router: Router ) {}
ngOnInit() {
this.postsService.getPosts().subscribe(
(posts: Post[]) => this.posts = posts,
(err: HttpErrorResponse) => err.error instanceof Error ? console.log('An error occurred:', err.error.message) : console.log(`Backend returned code ${err.status}, body was: ${err.error}`));
}
selectPost(slug) {
this.router.navigate([slug]);
}
}
听起来您需要一个轮询服务或websocket。Angular在重新加载
/posts
端点之前,不知道何时在WordPress中创建新帖子。轮询可能是这里唯一有效的方法。最近看过之后,我不相信wpapi中有任何东西支持websocket,所以没有解决方案?现在?听起来你需要一个投票服务或websocket。Angular在重新加载/posts
端点之前,不知道何时在WordPress中创建新帖子。轮询可能是这里唯一有效的方法。最近看过之后,我不相信wpapi中有任何东西支持websocket,所以没有解决方案?现在呢?