角度镖查询选择器未找到模态

时间:2019-06-17 15:30:12

标签: dart angular-dart

我找不到模态元素内的元素。我有一个带有以下模板的简单组件

<modal>
  <select id="pickItem">
    <option value="1">one</option>
    <option value="2">two</option>
  </select>
</modal>

在我的ngOnInit中输入代码

SelectElement select = querySelector("#pickItem");
print(select);

我得到空值。如果我将模式标签更改为div,则可以使用。有没有首选的方式来处理查询元素?

这里是显示ViewChild不起作用的示例。 ViewChild在第一个组件上工作。 IE:

import 'dart:html';

import 'package:angular/angular.dart';
import 'package:angular_forms/angular_forms.dart';

@Component(
    selector: 'my-app',
    template:'''
      <select #mySelect>
        <option value="1">one</option>
        <option value="2">two</option>
      </select>
    ''',
    directives: const [formDirectives]
)
class AppComponent implements AfterViewInit {
  @ViewChild("mySelect")
  SelectElement element;

  @override
  ngAfterViewInit() {
    print(element);
  }
}

这将在运行时将“选择”打印到控制台。

如果在子组件中,则不起作用。

app_component.dart

import 'package:angular/angular.dart';
import 'package:angular_forms/angular_forms.dart';
import 'child_component.dart';

@Component(
    selector: 'my-app',
    template:'''
      <child-component></child-component>
    ''',
    directives: const [formDirectives, ChildComponent]
)
class AppComponent implements AfterViewInit {
  @override
  ngAfterViewInit() {
  }
}

child_component.dart

import 'dart:html';

import 'package:angular/angular.dart';
import 'package:angular_forms/angular_forms.dart';

@Component(
    selector: 'child-component',
    template:'''
      <select #mySelect>
        <option value="1">one</option>
        <option value="2">two</option>
      </select>
    ''',
    directives: const [formDirectives]
)
class ChildComponent implements AfterViewInit {
  @ViewChild("myselect")
  SelectElement element;

  @override
  ngAfterViewInit() {
    print(element);
  }
}

这将在运行时向控制台输出“ null”。

0 个答案:

没有答案