ポリマー2では、陰影DOMにあるurls
というプロパティを変更しようとしています。私はvar loader
にそれを覚えようとします。私は試しました:ポリマー2の陰影DOMでquerySelectorが機能しない
var loader = document.querySelector('#urls');
var loader = this.shadowRoot.querySelector('#urls');
var loader = Polymer.dom(this).querySelector('#urls');
var loader = this.$.urls;
var loader = this.$$.urls;
var loader = Polymer.dom(this.root).querySelector('#urls')
しかし、何も動作しません。何が間違っている?私はここに文書で<ami-loader2>
を見ることができます
<link rel="import" href="../bower_components/polymer/polymer-element.html">
<link rel="import" href="shared-styles.html">
<link rel="import" href="ami-loader2.html">
<dom-module id="my-view2">
<template is="dom-bind" id="urls">
<style include="shared-styles">
:host {
display: block;
padding: 10px;
}
</style>
<ami-loader2 urls="[[urls]]"></ami-loader2>
</template>
<script>
class MyView2 extends Polymer.Element {
static get is() { return 'my-view2'; }
}
window.customElements.define(MyView2.is, MyView2);
var t2 = ['36444280', '36444294', '36444308', '36444322', '36444336'];
var urlsstring = t2.map(function(v) {
return 'https://cdn.rawgit.com/FNNDSC/data/master/dicom/adi_brain/' + v;
});
//var loader = document.querySelector('#urls');
//var loader = this.shadowRoot.querySelector('#urls')
//var loader = Polymer.dom(this).querySelector('#urls')
var loader = this.$.urls
loader.urls = urlsstring;
</script>
</dom-module>
ありがとうございます。私はidを ' ami-loader2>'に追加し、 'console.log(this.shadowRoot.querySelector '#loader')); 'でも、未定義の 'querySelector'プロパティを読み込めません。私は何が起こっているのか知りません:( –
Rashomon
あなたは 'this'あなたのクラスの中にしかアクセスできませんので、関数readyかconnectedCallbackの中で呼び出すようにしてください...私はより完全なクラスを表示するために私の答えを編集しました – daKmoR
ありがとう非常に!それは動作します:) – Rashomon