使用dart angular2中的组件中的纸标签 [英] using paper-tabs in a component in dart angular2
问题描述
我试图在dart angular2组件中使用聚合物纸标签,但无法。我在下面的代码中缺少什么?
I'm trying to utilize polymer paper-tabs in a dart angular2 component, but am unable. What am I missing in the code below?
在下面的代码中,在index.html模板中指定的论文选项卡工作正常,但是main-app.html格式不正确,在没有任何正确动画的情况下点击时会消失。
In the following code, the paper-tabs specified in the index.html template work fine, but the paper-tabs in the main-app.html are not formatted correctly and disappear when clicked without any proper animation.
pubspec.yaml
name: tabs_test
version: 0.0.1
description: Test Paper Tabs
environment:
sdk: '>=1.13.0 <2.0.0'
dependencies:
angular2: ^2.0.0-beta.13.1
polymer: ^1.0.0-rc.16
polymer_elements: ^1.0.0-rc.8
transformers:
- polymer:
entry_points: web/index.html
- angular2:
platform_directives:
- 'package:angular2/common.dart#COMMON_DIRECTIVES'
- 'package:angular2/common.dart#FORM_DIRECTIVES'
platform_pipes:
- 'package:angular2/common.dart#COMMON_PIPES'
entry_points: web/main.dart
index.html
index.html
<!DOCTYPE html>
<html>
<head>
<title>Tab Test</title>
<script defer src="main.dart" type="application/dart"></script>
</head>
<body>
<main-app></main-app>
<paper-tabs selected="0"> <!-- THESE WORK -->
<paper-tab>INDEX ITEM ONE</paper-tab>
<paper-tab>INDEX ITEM TWO</paper-tab>
<paper-tab>INDEX ITEM THREE</paper-tab>
</paper-tabs>
</body>
</html>
main.dart
import 'package:polymer/polymer.dart';
import 'package:angular2/platform/browser.dart';
import 'package:tabs_test/views/main_app/main_app.dart';
main() async {
await initPolymer();
bootstrap(MainApp, []);
}
main_app.dart
$ b
main_app.dart
import 'package:angular2/angular2.dart';
import 'package:polymer_elements/paper_tabs.dart';
import 'package:polymer_elements/paper_tab.dart';
@Component(selector: 'main-app',
templateUrl: 'main_app.html',
providers: const[],
directives: const []
)
class MainApp {
MainApp() { }
}
main_app.html
<paper-tabs selected="0"> <!-- THESE DO NOT WORK -->
<paper-tab>MA ITEM ONE</paper-tab>
<paper-tab>MA ITEM TWO</paper-tab>
<paper-tab>MA ITEM THREE</paper-tab>
</paper-tabs>
推荐答案
像Polymer一样使用Angular2,启用完整的阴影DOM
As usual when Polymer is used with Angular2 you need to enable full shadow DOM
在其他脚本标记之前添加此标记
Add this before other script tags
<script src="packages/web_components/webcomponents.js"></script>
<script>
/* this script must run before Polymer is imported */
window.Polymer = {
dom: 'shadow',
lazyRegister: true
};
</script>
有关此主题的详细信息,请参阅 https://dart.academy/dart-angular-2-and-polymer-together/
For more details about this topic see https://dart.academy/dart-angular-2-and-polymer-together/
这篇关于使用dart angular2中的组件中的纸标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!