1. ホーム
  2. javascript

[解決済み] オブジェクトHTMLImageElementが画像の代わりに表示されます。

2022-02-14 09:19:02

質問

2枚の画像からなる配列を作成し、表示しようとしたところ、画像の代わりにテキストが表示されました。
object HTMLImageElement

私の画像は、現在作業している正しいディレクトリにあることを確認しています。

< template is="auto-binding">
   <section flex horizontal wrap layout>

    <template repeat="{{item in items}}">
      <my-panel>{{item}}</my-panel>
    </template>

</section>

  <script>
  (function() {
    addEventListener('polymer-ready', function() {
        var createImage = function(src, title) {
              var img   = new Image();
              img.src   = src;
              img.alt   = title;
              img.title = title;
              return img; 
            };


    var items = [];

    items.push(createImage("images/photos/1.jpeg", "title1"));
    items.push(createImage("images/photos/2.jpeg", "title2"));

    CoreStyle.g.items = items;

      addEventListener('template-bound', function(e) {
        e.target.g = CoreStyle.g;
        e.target.items = items;
      });
    });

  })();
  </script>

何が足りないのでしょうか?

解決方法は?

最も簡単で安全な方法は、テンプレート内にimgを配置し、その上に srctitle 属性はこのようになります。

<template repeat="{{item in items}}">
  <my-panel><img src="{{item.src}}" alt="{{item.title}}" title="{{item.title}}"></my-panel>
</template>

次に createImage は次のようになります。

var createImage = function(src, title) {
  return {src: src, title: title};
}