Relativley новый для угловых и Дарта у меня есть следующая проблема:Как выбрать элемент шаблона по ID в Angular 2 Dart?
my_component.dart:
import 'package:angular2/core.dart';
import 'package:angular2_components/angular2_components.dart';
import 'package:google_maps/google_maps.dart';
import 'dart:html';
@Component(
selector: 'google-route-map',
styleUrls: const ['my_component.css'],
templateUrl: 'my_component.html',
directives: const [materialDirectives],
providers: const [materialProviders],
)
class MyComponent {
MyComponent() {
var m = querySelector("#my-canvas");
print (m); // is null
// do something with m....
}
}
my_component.html:
<div id="my-canvas"></div>
Насколько я понял, проблема заключается в том, что querySelector
запросы только база dom не shadowDom.
Как я могу просто запросить идентификатор внутри моего шаблона?
Это зависит от того, где '# мой-canvas' приходит и как он будет создан. Ваш вопрос не содержит никакой информации об этом. Согласно вашему редактированию, это часть шаблона компонентов, иначе '@ViewChild()' не будет работать, но '@ViewChild()' не является «select by ID». Поэтому я немного смущен о вашем дополнении к моему ответу. –
Да, его часть шаблона компонентов. Однако с помощью querySelector элемент все еще был «null». Есть ли другая возможность выбора по идентификатору? Пропустили что-то, может быть? – Blackbam
Я обновил свой ответ. Это должно сработать. Но '@ViewChild()' обычно является лучшим способом для вашего использования. –