在将我的应用程序(angular2-express-starter的一个分支)部署到Heroku时,我遇到了这个奇怪的问题.https://totalautosapp.herokuapp.com/ 起初我认为它是Heroku,但我已经将它部署到netlify并且同样发生.
它说:
Error: Unexpected value 'null' imported by the module 't'
Run Code Online (Sandbox Code Playgroud)
是的,有很多类似的问题让我能够更好地理解这个问题,但是让我眼花缭乱的是模块't'.它指的是什么模块?
大多数问题都表明意外的值是'undefined',而不是'null'.这让我想到它正在导入一个空模块,但仍然不知道哪一个正在这样做,即使它在devEnvironment中工作.
这是我的app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { routing } from './app.router';
import { effects, store, instrumentation } from './store';
import { SharedModule } from './shared/shared.module';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
SharedModule,
FormsModule,
HttpModule,
store,
effects,
routing, …
Run Code Online (Sandbox Code Playgroud) 我做了一些研究,我很惊讶地发现它并不像应该的那样直截了当.
我知道有一些使用ngModel的方法.就像在typecript和Angular2等中绑定和获取下拉列表值一样.但我希望能够轻松地将我选择的选项绑定到我的formControlName var.
这是我尝试过的:
.HTML
<form id="myForm" name="father" [formGroup]="fatherForm" (ngSubmit)="createFather()">
<div class="row">
<select formControlName="pref" id="f">
<option value=null disabled selected>Prefijo</option>
<option *ngFor="let item of prefs" [ngValue]="hola">{{item.name}}</option>
</select>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
.TS
fatherForm: FormGroup;
this.fatherForm = this.formBuilder.group({
pref: ['AA']
});
this.prefs=[
{name: "AA"},
{name: "BB"}
];
Run Code Online (Sandbox Code Playgroud)
默认值有效.但是当我选择BB时,仍然会选择默认值.当默认值为''时会发生同样的情况
这种方法由Harry-ninh在FormBuilder Angular 2的Bind Select List中提出
我究竟做错了什么?
注意:当然,表单中还有其他输入,为简单起见,忽略它们.
编辑
我尝试在这个plunkr中使用完全相同的例子,它也不起作用. http://plnkr.co/edit/Rf9QSSEuCepsqpFc3isB?p=preview 发送表单后,表明尚未触及该值.