鉴于以下......
<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)引用以允许操作?欢迎提出任何建议和更正.
使用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) 我有以下地图
List<Map<String, dynamic>> symptoms = [
{'name': 'Dizziness', 'checked': false},
{'name': 'Fainting', 'checked': false}
];
Run Code Online (Sandbox Code Playgroud)
我在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)
我的问题如下:
- 每个复选框的标签应为“ symptom ['name']-如何将其集成到* ngFor中?
- 如何确定已选中特定复选框?
我现在看到使用以下内容的复选框和标签:
<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) 以下在表单中工作(显示表单)
<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) 我有以下文件:
<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)
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) 我有一个简单的表单,可以显示错误消息
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) ^ 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符号。
我想念什么?
我现在可以使用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) 我正在尝试使用以下内容创建@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) 我正在使用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.噢
该文件表明这个问题已经解决,但它肯定存在于我正在使用的现有聚合物中.
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 …