我有一个mat-input默认情况下禁用它来更改文本.如何在点击它时将禁用设置为启用?之后我想在失去焦点时再次变为禁用状态,或者我点击输入.我能这样做吗?
我按照安装和示例来自https://www.npmjs.com/package/angular-highcharts但是,我得到错误:
node_modules/angular-highcharts/chart.d.ts(1,23)中的错误:错误TS2688:找不到'highcharts'的类型定义文件.
我正在使用angular-cli:
Angular CLI: 1.6.0
Node: 9.3.0
OS: darwin x64
Angular: 5.1.3
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cli: 1.6.0
@angular-devkit/build-optimizer: 0.0.35
@angular-devkit/core: 0.0.22
@angular-devkit/schematics: 0.0.41
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.0
@schematics/angular: 0.1.10
@schematics/schematics: 0.0.10
typescript: 2.4.2
webpack: 3.10.0
Run Code Online (Sandbox Code Playgroud)
app.module.ts:
...
import {ChartComponent} from "./chart/chart.component";
import {ChartModule} from "angular-highcharts";
@NgModule({
declarations: [
AppComponent,
BatteryChargingDetailsComponent,
ChartComponent
],
imports: [
BrowserModule,
HttpClientModule,
ChartModule,
FormsModule,
ReactiveFormsModule,
MultiselectDropdownModule,
RouterModule.forRoot(ROUTES)
],
providers: [
AuthService
], …Run Code Online (Sandbox Code Playgroud) 对于“模型驱动”表单或“反应式”表单,我们可以将自定义错误绑定到输入字段,如下所示:
在组件中:
sampleForm.controls["formControlName"].setErrors({ 'incorrect': true });
我的问题是,在“模板驱动”表单的情况下,我们该怎么做?
我正在尝试创建一个Angular 5嵌套反应形式.
我开始创建一个平面形式,按预期工作,但只要我提取部分表单并将其作为子组件放置,我就会收到错误
错误TypeError:无法在字符串'addressFormGroup'上创建属性'validator'
如果我刚开始键入,则会在控制台中显示另一个错误
错误TypeError:this.form.get不是函数
我究竟做错了什么?我已经阅读了几个线程和教程来尝试解决这个问题,但我认为我错过了一些明显的东西.
import { Component, OnInit } from '@angular/core'
import { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';
import { Address } from '../Property';
@Component({
moduleId: module.id,
selector: 'app-property-form',
templateUrl: './property-form.component.html',
styleUrls: ['./property-form.component.css']
})
export class PropertyFormComponent implements OnInit {
propertyForm: FormGroup;
constructor(private _formBuilder: FormBuilder) {}
ngOnInit() {
this.createForm();
}
createForm() {
this.propertyForm = this._formBuilder.group({
saleOrLet: ['Sales', Validators.required],
addressFormGroup: this.initAddress()
})
}
initAddress() {
return this._formBuilder.group({
houseNameNumber: '',
address2: '',
postCode1: '',
postCode2: ''
}) …Run Code Online (Sandbox Code Playgroud) 我目前有以下PrimeNG TurboTable:
<p-table [value]="People" >
<ng-template pTemplate="header">
<tr>
<th>Name</th>
<th>Age</th>
<th>Height</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-col>
<tr>
<td>{{col.Name}}</td>
<td>{{col.Age}}</td>
<td>{{col.Height}}</td>
</tr>
</ng-template>
</p-table>
Run Code Online (Sandbox Code Playgroud)
页面加载时,我需要能够按“年龄”列进行过滤,我该怎么做?我可以找到的所有示例都使用(input)或(onChange)标签,例如(从其网站获取):
<input type="text" pInputText size="50" placeholder="Global Filter" (input)="dt.filterGlobal($event.target.value, 'contains')" style="width:auto">
Run Code Online (Sandbox Code Playgroud)
如何在加载时而不是在元素更改时按列过滤?
这是我引用的页面:https : //www.primefaces.org/primeng/#/table/filter
谢谢!
我正在尝试用角度5练习behaviorsubject。我编写了一个包含两个组件的小型应用程序,想同时更改两个组件中的值,但该值没有改变。BehaviorSubject应该更改所有组件中的值。请帮助我理解。
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class TestserviceService {
public isAdmin = new BehaviorSubject<boolean>(false);
cast = this.isAdmin.asObservable();
constructor() { }
changeAdmin(){
this.isAdmin.next(!this.isAdmin);
}
}
Run Code Online (Sandbox Code Playgroud)
import { Component, OnInit } from '@angular/core';
import{ TestserviceService } from '../../testservice.service';
@Component({
selector: 'app-one',
templateUrl: './one.component.html',
styleUrls: ['./one.component.css']
})
export class OneComponent implements OnInit {
isAdmin: boolean;
constructor(private testservice: TestserviceService) { }
ngOnInit() {
this.testservice.cast.subscribe(data => this.isAdmin = data);
}
changeValue(){
this.testservice.changeAdmin();
console.log(this.isAdmin);
} …Run Code Online (Sandbox Code Playgroud) 我正在开发一个角度应用程序,它是一个产品并部署到多个客户端.客户端将采用此角度应用程序并将其托管在其服务器中.因此,服务的网址对于客户来说会有所不同.我见过关于dev,prod的解决方案.但这不适用于这种情况.我正在寻找类似于.net配置文件的配置文件.我创建了一个单独的app.config.ts文件,但是在构建时会生成该文件.我正在寻找一个解决方案,我可以将应用程序部署到任何客户端,而不是再次构建它.
import { InjectionToken } from "@angular/core";
export let APP_CONFIG = new InjectionToken("app.config");
export interface IAppConfig {
apiEndpoint: string;
}
export const AppConfig: IAppConfig = {
apiEndpoint: "http://88.87.86.999/"
};
Run Code Online (Sandbox Code Playgroud) Angular 5材质,材质小吃栏仅对于自定义ErrorHandling无法正确显示,否则工作正常:
我正在尝试使用材质小吃栏显示后端错误,问题是第一次触发时,它出现在错误的位置(不是应该在底部中间,而是在左边),并且永远存在在那里而不会消失(根据我的配置,它应该在2秒后自动消失)
下次出现时,它将正确显示并在2秒钟后消失。
请在此处尝试该问题: 显示我的问题的stackblitz示例。
谢谢
这可能是重复问题但不能理解如何配置FE和BE一起运行它们.
我的Node + Express在4300上运行
app.post('/postData', function(req, res) {
//some worst logics here :)
});
Run Code Online (Sandbox Code Playgroud)
和
角度5运行在4200.下面是我的FE服务,呼叫后端点
postData(feData) {
console.log(feData);
this.http.post('/postData', feData, this.httpHeader).subscribe((data) => {
});
}
Run Code Online (Sandbox Code Playgroud)
我尝试的是打开2厘米提示.一个用节点server.js运行server.js,另一个用ng服务运行.
结果===> 404不是fount(不能发帖)
哪里做错了.请指出我正确的方向.在此之后我只想在github.io上托管它
提前致谢.
我正在从其样式文件中对角度组件进行样式设置,发现必须使用:host,:host()或:host-context选择器,它们之间有什么区别?
angular5 ×10
angular ×9
typescript ×3
angular-cli ×2
javascript ×2
behavior ×1
css ×1
express ×1
highcharts ×1
node.js ×1
primeng ×1