Angular 2 Dart:如何选择和更改导入的子组件中的元素?

时间:2017-04-04 15:28:16

标签: angular dart angular-dart angular2-dart

以下角度/飞镖库(https://pub.dartlang.org/packages/pikaday_datepicker_angular2)似乎写得不太好,因为无法设置日期的外部更改(没有设置器 - 我只能设置默认日期/在开头的日期,但如果它改变了外部,则不是。)

我的问题是:如何访问导入的库组件的内部以更改内部的值或某些HTML?

my_component.html:

<div>
    <pikaday #pickuptimeselector [day]="selectedDay"(dayChange)="changeDate($event)" format="DD.MM.YYYY"
                       [minDate]="mindate" [maxDate]="maxdate"
                       [(i18n)]="datepickerI18n"
                       firstDay="1">
    </pikaday>
</div>

my_component.dart:

import 'package:pikaday_datepicker_angular2/pikaday_datepicker_angular2.dart';


@Component(
    selector: 'my_component',
    styleUrls: const ['my_component.css'],
    templateUrl: 'my_component.html',
    directives: const [materialDirectives,PikadayComponent],
    providers: const [materialProviders]
)
class MyComponent {

  Map<String,dynamic> datepickerI18n = new Map<String,dynamic>();

  DateTime selectedDay;

  void dayChange() { 
  ...
  }
}

从Chrome控制台生成pikaday组件的输出:

<pikaday _ngcontent-oid-5="" firstday="1" format="DD.MM.YYYY"><input type="text" id="pikadayInput1" class="" placeholder="" aria-label="Use the arrow keys to pick a date"></pikaday>

正如您所看到的,组件内部有一个输入。当Datetime selectedDay更改时,我想为此输入字段设置新的日期值。怎么样?

1 个答案:

答案 0 :(得分:1)

这是不可能的任何合法方式。如果你的应用程序正在使用镜像,你可以试试,但你永远不应该在生产应用程序中这样做。

最好的方法是修复库并发送拉取请求。