在AngularDart中使用dart:html库

在AngularDart中使用dart:html库,dart,angular-dart,dart-html,Dart,Angular Dart,Dart Html,我想知道如何在angulardart中使用(如果可能的话)dart:html。我在webstorm上创建angulardart项目(todo列表)时的默认示例中尝试了它 我尝试插入一些dart代码,但不起作用。只有将其插入到OnInit自动实现的OnInit中,它才能工作。这是唯一的办法吗?使用dart在AngularDart中管理DOM这是正确的做法吗? 我需要AngularDart用于全功能路由系统您可以通过多种方式获得AngularDart中的底层dart:html元素: 例如: <

我想知道如何在angulardart中使用(如果可能的话)dart:html。我在webstorm上创建angulardart项目(todo列表)时的默认示例中尝试了它

我尝试插入一些dart代码,但不起作用。只有将其插入到OnInit自动实现的OnInit中,它才能工作。这是唯一的办法吗?使用dart在AngularDart中管理DOM这是正确的做法吗?
我需要AngularDart用于全功能路由系统

您可以通过多种方式获得AngularDart中的底层dart:html元素:

例如:

<div #myEl></div>
{{foo(myEl)}}

import 'dart:html';
@Component(...)
class ... {
  foo(DivElement div) {
    ...
  }
}
您可以在组件的构造函数中请求它:

@Component(...)
class MyClass {
  DivElement div;
  MyClass(Element e) : div = e;
  ...
您可以实现“功能指令”,它根本没有类,而是在组件创建时在组件上调用dart:html API:

@Directive(...)
void myFunctionalDirective(Element e) {
  ...
}
希望这些用例中的一个或多个能够满足您的需求


请记住,无论何时使用dart:html库,您都可能会做AngularDart无法跟踪的事情,并且可能会出现令人困惑的行为。最好让angular尽可能多地为您服务,并且只使用dart:html作为一些小组件的“后端”,并让angular将它们连接在一起。但这是一个非常大的主题,可能会填满一本小书:)

您可以通过多种方式了解AngularDart中的底层dart:html元素:

例如:

<div #myEl></div>
{{foo(myEl)}}

import 'dart:html';
@Component(...)
class ... {
  foo(DivElement div) {
    ...
  }
}
您可以在组件的构造函数中请求它:

@Component(...)
class MyClass {
  DivElement div;
  MyClass(Element e) : div = e;
  ...
您可以实现“功能指令”,它根本没有类,而是在组件创建时在组件上调用dart:html API:

@Directive(...)
void myFunctionalDirective(Element e) {
  ...
}
希望这些用例中的一个或多个能够满足您的需求


请记住,无论何时使用dart:html库,您都可能会做AngularDart无法跟踪的事情,并且可能会出现令人困惑的行为。最好让angular尽可能多地为您服务,并且只使用dart:html作为一些小组件的“后端”,并让angular将它们连接在一起。但这是一个非常大的话题,可能会填满一本小书:)

我对Dart和Angulardart是新手,我需要上大学。我不明白如何使用last@Directive:在该函数中,将初始化DOM的变量?您能给我写一个关于输入文本的各种方法的例子吗?还有一个按钮,可以在DOM文本元素中点击打印输入吗?例如,这是HTML读取输入

。非常感谢您的回答,这几乎肯定不是您希望在本机DOM API中执行的操作。为此,您希望类MyComponent{String writed;String show;}与模板读取输入一起{{show}

..冒着给您正确但有害的建议的风险,函数指令方法将是@directive(selector:“test Input”)void neverWriteThisCode(Element e){e.onClick(({document.getElementById('Read-text')).content=document.getElementById('test-input').value;});}。这很糟糕,除非你的案子很特别,所以这不是最好的办法。。。或angulardart或dart-lang。我需要找到一种方法在dart-lang中管理/创建路线,否则我将打开angulardart。谢谢你,我是Dart和ANGLARDART的新手,我需要上大学。我不明白如何使用last@Directive:在该函数中,将初始化DOM的变量?您能给我写一个关于输入文本的各种方法的例子吗?还有一个按钮,可以在DOM文本元素中点击打印输入吗?例如,这是HTML读取输入

。非常感谢您的回答,这几乎肯定不是您希望在本机DOM API中执行的操作。为此,您希望类MyComponent{String writed;String show;}与模板读取输入一起{{show}

..冒着给您正确但有害的建议的风险,函数指令方法将是@directive(selector:“test Input”)void neverWriteThisCode(Element e){e.onClick(({document.getElementById('Read-text')).content=document.getElementById('test-input').value;});}。这很糟糕,除非你的案子很特别,所以这不是最好的办法。。。或angulardart或dart-lang。我需要找到一种方法在dart-lang中管理/创建路线,否则我将打开angulardart。多谢各位