次のコードがあります
xviewcontainer.html
<!DOCTYPE html>
<html>
<head>
<title>xviewcontainer</title>
<link rel="components" href="xsearch.html">
<link rel="components" href="xcard.html">
</head>
<body>
<element name="x-view-container" constructor="ViewContainerComponent" extends="div">
<template>
<template instantiate="if view == 'SEARCH_VIEW'">
<x-search></x-search>
</template>
<template instantiate="if view == 'CARD_VIEW'">
<x-card></x-card>
</template>
</template>
</element>
<script type="application/dart" src="xviewcontainer.dart"></script>
<!-- for this next line to work, your pubspec.yaml file must have a dependency on 'browser' -->
<script src="packages/browser/dart.js"></script>
</body>
</html>
xviewcontainer.dart
import 'package:web_ui/web_ui.dart';
class ViewContainerComponent extends WebComponent {
String view = 'SEARCH_VIEW';
}
の現在レンダリングされている他のサブコンポーネント内にイベント処理コードがありますx-search
。x-view-container
含まれているインスタンスへの参照を取得するにはどうすればよいですか? .view プロパティを変更して、現在レンダリングされている .view プロパティの代わりにx-view-container
レンダリングするようにしたいと考えています。イベントハンドラーの相対位置から行う方法、絶対的な方法で行う方法、および他の方法で行う方法に特に興味があります。x-card
x-search
void openCardView(){
WHAT_DO_I_PUT_HERE.view = 'CARD_VIEW';
}