1

我使用 electron-forge 创建了一个使用 angular 2 的新电子项目

npm install -g electron-forge electron-forge init -t angular2

然后我加了@angular/forms

yarn add @angular/forms

然后我编辑 app.components.ts 文件看起来像这样

import { NgModule } from '@angular/core';
import {FormsModule} from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'App',
  template:
  `<div>
    <h2>Welcome to {{name}} Angular2!</h2>
    {{name}}
    <input [(ngModel)] = "name">
  </div>`
})
export class AppComponent implements OnInit {
  public name = 'electron-forge';

  ngOnInit(): void {
    console.log('component initialized');
  }
}

@NgModule({
  imports: [BrowserModule, FormsModule],
  declarations: [AppComponent],
  bootstrap: [AppComponent]
})
export class AppModule { }

两种方式绑定不起作用...当我更改输入控件中的文本时,名称字段没有改变

我错过了什么?

4

2 回答 2

1

我解决了这个问题。

我不得不在 index.html 而不是 bootstrap.ts 中加载 zone.js 和 reflect-metadata。所以当我这样做时

  <script src="../node_modules/zone.js/dist/zone.js"></script>
  <script src="../node_modules/reflect-metadata/Reflect.js"></script>
  <script src="bootstrap.ts"></script>

这行得通。我不得不删除这个

import 'zone.js';
import 'reflect-metadata';

来自 bootstrap.ts

于 2017-01-28T19:08:09.000 回答
0

因为这可能是因为您忘记在 module.ts 文件中添加 FormsModule。检查您的 app.module.ts

import { FormsModule } from '@angular/forms';
...
imports: [ ..., FormsModule, ...]

相关问题

于 2018-09-06T07:03:44.370 回答