小编st_*_*rke的帖子

如何在组件类中获取ngForm变量引用?

鉴于以下......

html的

<form (ngSubmit) = "onSubmit()"
          #heroForm = "ngForm">
      {{diagnostic}}
      <div class = "form-group">
        <label for = "name">Name</label>
        <input type = "text"
               class = "form-control"
               required
               [(ngModel)] = "model.name"
               ngControl = "name"
               #name = "ngForm"
               #spy>
        <p *ngIf = "name.dirty"
           class = "alert alert-danger">
          Name is required
        </p>
        <!--<p [hidden] = "name.dirty"-->
           <!--class = "alert alert-danger">-->
          <!--Name is required-->
        <!--</p>-->
      </div>
Run Code Online (Sandbox Code Playgroud)

..

..是否可以#name = "ngForm"在.dart组件中获取(ngForm)引用以允许操作?欢迎提出任何建议和更正.

dart angular2-forms angular

6
推荐指数
1
解决办法
6666
查看次数

extends Object with Observable和extends Observable有什么区别

使用Observable扩展Object和扩展Observable有什么不同,适用于下面的类.

运行应用程序时的结果相同.

library models;

import 'package:polymer/polymer.dart';

class Person extends Object with Observable {
  @observable String name;
  @observable bool signedAgreement = false;

  Person();

  Person.from(Person other) {
    name = other.name;
    signedAgreement = other.signedAgreement;
  }

  blank() {
    name = '';
    signedAgreement = false;
  }
}


library models;

import 'package:polymer/polymer.dart';

class Person extends Observable {
  @observable String name;
  @observable bool signedAgreement = false;

  Person();

  Person.from(Person other) {
    name = other.name;
    signedAgreement = other.signedAgreement;
  }

  blank() {
    name = '';
    signedAgreement = false;
  }
}
Run Code Online (Sandbox Code Playgroud)

dart

5
推荐指数
1
解决办法
468
查看次数

如何使用* ngFor和地图列表生成复选框

我有以下地图

。镖

List<Map<String, dynamic>> symptoms = [
  {'name': 'Dizziness', 'checked': false},
  {'name': 'Fainting', 'checked': false}
];
Run Code Online (Sandbox Code Playgroud)

我在html中的错误尝试如下所示

.html

<div class = "form-group">
        <div class = "form-control"
             ngControl = "symptoms">
          <label for="symptom" >Symptoms</label>
            <input
              type = "checkbox"
              *ngFor = "#symptom in symptoms"
              [checked]="symptom['checked']"/>

        </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

我的问题如下:

  1. 每个复选框的标签应为“ symptom ['name']-如何将其集成到* ngFor中?
  2. 如何确定已选中特定复选框?

编辑1

我现在看到使用以下内容的复选框和标签:

  <div layout = "row"
       layout-align = "center"
       class = "form-group"
       *ngFor = "#s of symptoms">
    <label>{{s['name']}} </label>
    <input
        type = "checkbox"
        [checked] = "s['checked']"
        class = …
Run Code Online (Sandbox Code Playgroud)

angular2-forms angular

5
推荐指数
1
解决办法
1万
查看次数

如何使用Dart绑定angular2中的ngFormModel?

以下在表单中工作(显示表单)

html的

  <form (ngSubmit) = "onSubmit()"
         #nameForm = "ngForm">
    {{diagnostic}}
    <div class = "mdl-card mdl-shadow--3dp layout horizontal wrap">
      <div class = "mdl-card__title">
        <h2 class = "mdl-card__title-text">Name</h2>
      </div>

      <div
          class = "mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
        <input
            required
            type = "text"
            [(ngModel)] = "name.first"
            ngControl = "first"
            #first = "ngForm"
            (input)="onInputHandler($event)"
            class = "mdl-textfield__input ng-valid"
            id = "first">
        <label
            class = "mdl-textfield__label"
            for = "first">First</label>
        <span [hidden] = "isFirstValid"
              class =  "mdl-textfield__error">{{firstErrorMsg}}</span>
      </div>

      <div class =
               "mdl-card__actions mdl-card--border">
        <button id = "startButton"
                class …
Run Code Online (Sandbox Code Playgroud)

dart angular2-forms angular

5
推荐指数
1
解决办法
1498
查看次数

如何使用material2工具栏,按钮和angular-cli路由器

我有以下文件:

html的

<nav>
  <md-toolbar color = "primary">
    <a [routerLink] = "['new-patient']">New Patient</a>

    <button md-icon-button
            color = "accent">
      <md-icon class = "material-icons md-24">person_add</md-icon>
    </button>
  </md-toolbar>
</nav>
Run Code Online (Sandbox Code Playgroud)

.TS

import { Component, OnInit } from '@angular/core';
import { ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from '@angular/router';
import { MdToolbar } from '@angular2-material/toolbar';
import { MdIcon, MdIconRegistry } from '@angular2-material/icon';
import { MdButton } from '@angular2-material/button';

@Component({
  moduleId: module.id,
  selector: 'epimss-toolbar',
  templateUrl: 'toolbar.component.html',
  styleUrls: ['toolbar.component.css'],
  providers: [MdIconRegistry],
 directives: [MdButton, MdIcon, MdToolbar, ROUTER_DIRECTIVES],
})
export class ToolbarComponent implements …
Run Code Online (Sandbox Code Playgroud)

typescript1.8 angular-cli angular-material2 angular

5
推荐指数
1
解决办法
4137
查看次数

原始例外:FormGroup 没有提供程序

我有一个简单的表单,可以显示错误消息

errorm-messages.component

import { Component, OnInit, Input } from '@angular/core'
import { NgIf } from '@angular/common'
import {REACTIVE_FORM_DIRECTIVES, FormGroup } from '@angular/forms'

@Component(
    {
      moduleId: module.id,
      selector: 'epimss-error-messages',
      template: `
   <span class="error" *ngIf="errorMessage !== null">{{errorMessage}}</span>`,
      styles: [],
      directives: [REACTIVE_FORM_DIRECTIVES, NgIf]

    })
export class ErrorMessagesComponent implements OnInit {
  @Input()
  ctrlName: string

  constructor(private _form: FormGroup) {
  }

  ngOnInit() {
      }

  get errorMessage() {
    // Find the control in the Host (Parent) form
    let ctrl = this._form.find(this.ctrlName);

    console.log('ctrl| ', ctrl)

//    for (let …
Run Code Online (Sandbox Code Playgroud)

angular2-forms typescript1.8 angular

5
推荐指数
1
解决办法
6404
查看次数

如何将core-js Map导入angular-cli webpack生成的应用程序

^ 1.0.0-beta.11-webpack“现在使用core-js进行polyfills。

我正在尝试导入地图以在我的应用程序中使用

import {Map} from 'core-js/es6/map'
//import {Map} from 'core-js/library/es6/map'

export function updatePayload(data: any, isDataValid: boolean): Map<string, any> {
  const payload: Map<string, any> = new Map<string, any>()
  payload.set('data', data)
  payload.set('isDataValid', isDataValid)
  return payload
}
Run Code Online (Sandbox Code Playgroud)

我什至使用以下命令添加了core-js d.ts文件

npm install --save @types/core-js (typescript 2.0 is used)
Run Code Online (Sandbox Code Playgroud)

但是,两个导入都不会解析Map符号。

我想念什么?

编辑1 | 产生的错误

我现在可以使用Map实体,但是即使可以设置/获取地图键/值,在控制台中也会出现很多错误。

client:49 [default] J:\workspace\angular2\ts\epimss\node_modules\@types\core-js\index.d.ts:21:13 
Duplicate identifier 'PropertyKey'.errors @ client:49sock.onmessage @ client:83EventTarget.dispatchEvent @ eventtarget.js:51(anonymous function) @ main.js:274SockJS._transportMessage @ main.js:272EventEmitter.emit @ emitter.js:50WebSocketTransport.ws.onmessage @ websocket.js:35wrapFn @ zone.js:769ZoneDelegate.invokeTask @ zone.js:356Zone.runTask @ zone.js:256ZoneTask.invoke @ zone.js:423 …
Run Code Online (Sandbox Code Playgroud)

webpack angular2-forms angular-cli typescript2.0 angular

5
推荐指数
1
解决办法
2567
查看次数

无法解析ngrx/store Action的所有参数

我正在尝试使用以下内容创建@ngrx/store操作

import { ActionReducer, Action } from '@ngrx/store'
import { StoreService } from 'ng2-storeservice'
import { IPatient, Patient } from './patient.service'

export class PatientActions {
  static ADD = '[Patient] ADD';
  static REMOVE = '[Patient] REMOVE';
  static RESET = '[Patient] RESET';

  constructor( public store: StoreService ) { }

  add( path: string, payload: IPatient ) {
    this.store.dispatch( PatientActions.ADD, payload );
  }

  remove( path: string, payload: IPatient ) {
    this.store.dispatch( PatientActions.REMOVE, payload )
  }

  reset( path: string, payload: IPatient ) {
    this.store.dispatch( PatientActions.RESET, …
Run Code Online (Sandbox Code Playgroud)

ngrx typescript2.0 angular

5
推荐指数
1
解决办法
2440
查看次数

例外:NoSuchMethodError:找不到方法:'whenPolymerReady'

我正在使用Dart SDK 1.5.3 | 聚合物0.11.0 + 5 | Windows x64.当我使用模板'使用聚合物库(移动友好)选项的示例Web应用程序'创建创建的聚合物应用程序并运行应用程序时,它按预期工作,当单击按钮时计数器递增.

假设页面有

<script type="application/dart">
  export 'package:polymer/init.dart';
</script>
Run Code Online (Sandbox Code Playgroud)

是index.html,试图通过从index.html中删除以下行来重构应用程序

<click-counter count="5"></click-counter>
<link rel="import" href="clickcounter.html">
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

Exception: NoSuchMethodError: method not found: 'whenPolymerReady'
Receiver: Instance of 'JsFunction'
Arguments: [Closure: () => dynamic] (package:polymer/src/loader.dart:115)
Breaking on exception: NoSuchMethodError: method not found: 'whenPolymerReady'
Run Code Online (Sandbox Code Playgroud)

我一直在使用这种机制来创建任何聚合物应用程序,但是从未见过这样的例外,尽管我在网上看过涉及Dart的文档https://www.google.com.jm/url?sa=t&rct=j&q= &ESRC = S&源=幅和CD = 1&CAD = RJA&uact = 8&VED = 0CBwQFjAA&URL = HTTP%3A%2F%2Fcode.google.com%2FP%2Fdart%2Fissues%2Fdetail%3Fid%3D19161&EI = MZq8U_nlK42KyASBkYHgCw&USG = AFQjCNHOc6MD-mhzPbDOmg8Hp5NeqVufqQ&BVM = bv.70138588,d.噢

该文件表明这个问题已经解决,但它肯定存在于我正在使用的现有聚合物中.

dart dart-polymer

4
推荐指数
2
解决办法
2217
查看次数

How to trigger Material2 &lt;mat-error&gt; to be displayed on input-change

Given the example at https://material.angular.io/components/form-field/overview

<div class="example-container">
  <mat-form-field>
    <input matInput placeholder="Enter your email" [formControl]="email" required>
    <mat-error *ngIf="email.invalid">{{getErrorMessage()}}</mat-error>
  </mat-form-field>
</div>


import {Component} from '@angular/core';
import {FormControl, Validators} from '@angular/forms';

/** @title Form field with error messages */
@Component({
  selector: 'form-field-error-example',
  templateUrl: 'form-field-error-example.html',
  styleUrls: ['form-field-error-example.css']
})
export class FormFieldErrorExample {
  email = new FormControl('', [Validators.required, Validators.email]);

  getErrorMessage() {
    return this.email.hasError('required') ? 'You must enter a value' :
        this.email.hasError('email') ? 'Not a valid email' :
            '';
  }
}
Run Code Online (Sandbox Code Playgroud)

The error seems to be …

angular-material2 angular5

4
推荐指数
1
解决办法
1万
查看次数