如何使用打字稿获取图像源的值?

时间:2017-02-08 17:12:50

标签: html angularjs json typescript ionic-framework

我正在尝试访问json API并检索一些数据,例如:title,category和images。

问题是我无法获得图像的来源。

我试过了:

  • field_image [0]的.src
  • field_image [0] .getAttribute( 'SRC')
  • field_image [0] .attr( 'SRC')
  • 等..

但没有正常工作,它给了我“找不到功能”或“未定义”。

请帮助...并谢谢..

这是我检索到的一个json对象的示例。

Object
    body:"this is a normal text"
    field_category:"myCat"
    field_image:Array[2]
    0:
    "<img typeof="foaf:Image" src="http://rs.ksu.edu.sa/sites/rs.ksu.edu.sa/files/styles/750x407/public/2017-01-19-photo-00000063.jpg?itok=g4DouHqQ" width="750" height="407" alt="" />"
    1:
    "<img typeof="foaf:Image" src="http://rs.ksu.edu.sa/sites/rs.ksu.edu.sa/files/styles/750x407/public/20150817-img_0604.jpg?itok=zNXuoh5t" width="750" height="407" alt="" />"

    length:2
    __proto__:
    Array[0]
    field_issue:"1260"
    field_page_number:"19"
    field_sub_title:"sub"
    field_sub_title1:
    Array[0]
    field_sub_title2:
    Array[0]
    nid:"1269"
    title:"<a href="/issue-1260/1269">this is title</a>"
    __proto__:

2 个答案:

答案 0 :(得分:3)

使用JQuery:

var url = $(field_image[0]).attr('src');

这将为您解析HTML字符串,以便您轻松访问属性。

答案 1 :(得分:1)

感谢@Andrew Monks。他向我提供了这个链接https://stackoverflow.com/questions/494143,在那里我找到了解决方案。

以下是最终解决方案:

我宣布了一个属性:

element: HTMLImageElement;

然后我创建了这个函数,它接受html字符串并返回img src:

getImgSrc(htmlString){
    var div = document.createElement('div');
    div.innerHTML = htmlString;
    this.element = <HTMLImageElement>div.firstChild;
    return this.element.src;
}

我在这里打电话:

{{this.getImgSrc(item.field_image[0])}}