离子管值未显示

时间:2018-11-17 14:50:18

标签: javascript angular typescript ionic-framework

我已在Ionic应用程序中添加了一个简单管道,但未按预期运行。 不知道可能是什么问题(我的其他管道正在工作..)。我尝试了NgZone函数。

管道的代码:

holder.code.setText("");

以下代码来自page.ts:

import { Pipe, PipeTransform, NgZone } from '@angular/core';
import { Http, HttpModule } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';

/**
 * Generated class for the LinkOgImagePipe pipe.
 *
 * See https://angular.io/api/core/Pipe for more info on Angular Pipes.
 */
@Pipe({
  name: 'linkOgImage',
})


export class LinkOgImagePipe implements PipeTransform {


  constructor(public http: Http, private ngZone:NgZone) {
  }

  transform(value: string) {

    var urlEncoded;  
    urlEncoded = encodeURIComponent(value);  

    var requestUrl = "https://mywebsitefunction.com?pageurl=" + urlEncoded ;  



    this.http.get(requestUrl).map(res => res.json()).subscribe(data =>{

        let imageurl = data[0]['img'];

        console.log(imageurl);

        this.ngZone.run(() => {     
            return imageurl;  
        })

    })




  }
}

我也尝试将值作为文本获取,而不是将其获取到图像中,但这也不起作用。管道中的console.log确实显示了正确的值,但未在前端显示。e

希望你们能指出我正确的方向!

1 个答案:

答案 0 :(得分:0)

这是不纯管道(发出HTTP请求的管道),U应该这样做

 @Pipe({
  name: 'fetch',
  pure: false
}) 

Link to documentation