2
如何獲得下面的paper-input
元素的實例?飛鏢紙元素的實例
HTML文件:
<!DOCTYPE html>
<html>
<head>
<!-- <script src='packages/web_components/platform.js'></script>
not necessary anymore with Polymer >= 0.14.0 -->
<script src='packages/web_components/dart_support.js'></script>
<link rel='import' href='packages/paper_elements/paper_input.html'>
<script src='packages/browser/dart.js'></script>
</head>
<body fullbleed unresolved>
<paper-input id='subject' label='subject'></paper-input>
<script type='application/dart' src='myscript.dart'></script>
</body>
</html>
myscript.dart:
import 'dart:html';
import 'package:polymer/polymer.dart';
import 'package:paper_elements/paper_input.dart';
export 'package:polymer/init.dart';
PaperInput _subject = querySelector('#subject'); // exception
void main() {
...
}
這造成了一個例外:
Breaking on exception: type 'HtmlElement' is not a subtype of type 'PaperInput'
從鑄造的HtmlElement到PaperInput不起作用。建議包括使用shadowRoot.querySelector('#subject');
和其他shadowRoot
用法,但它來自哪裏?如果我將.shadowRoot.querySelector('paper-input')
附加到myscript.dart的最後一行,則該元素爲空。如果我使用id而不是標籤名稱,結果相同。元素本身是html主體的頂層,所以它不在其他shadowRoot中。
如果沒有PaperInput類,則無法獲取paper-input
的內容。但似乎沒有辦法施展它。
xD我正在使用它來處理元素的其餘部分,但不是用於初始分配。看起來這將是答案,謝謝你的所有時間!! –
+1 stackoverflow –