我可以在index.html中动态设置标签,角度为4的
Meta概念.但是当我尝试删除tags时,我没有
删除,我怎样才能删除之前添加的标签?
删除,我怎样才能删除之前添加的标签?
这是我试过的:
设置标签:
import {Meta,MetaDefinition } from '@angular/platform-browser'; @Component({ selector: 'app-share-video',templateUrl: './share-video.component.html',}) export class ShareVideoComponent implements OnInit { constructor(public MetaServic:Meta){} ngOnInit(){ const ogtitle: MetaDefinition = { name: 'og:title',content: 'Grace' }; const ogSitename: MetaDefinition = { name: 'og:site_name',content: 'My Favourite Albums'}; const ogUrl: MetaDefinition = { name: 'og:url',content: 'https://angular.io/docs/ts/latest/api/platform-browser/index/Meta-class.html'}; const ogdesc: MetaDefinition = { name: 'og:description',content: 'angular 4 share video description'}; this.MetaService.addTag(ogtitle); this.MetaService.addTag(ogSitename); this.MetaService.addTag(ogUrl); this.MetaService.addTag(ogdesc); } ngOnDestroy() { this.MetaService.removeTag("property='og:title'"); this.MetaService.removeTag("property='og:site_name'"); this.MetaService.removeTag("property='og:url'"); this.MetaService.removeTag("property='og:description'"); } }
解决方法
您尝试使用的属性选择器是name,而不是property.
你必须使用
this.MetaService.removeTag("name='og:title'"); this.MetaService.removeTag("name='og:site_name'"); this.MetaService.removeTag("name='og:url'"); this.MetaService.removeTag("name='og:description'");
代替
this.MetaService.removeTag("property='og:title'"); this.MetaService.removeTag("property='og:site_name'"); this.MetaService.removeTag("property='og:url'"); this.MetaService.removeTag("property='og:description'");