Electron 中的双向数据绑定 Angular 2 不工作
Two Way Data Binding Angular 2 in Electron not working
我使用 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 { }
双向绑定不起作用...当我更改输入控件中的文本时,提交的名称没有改变
我错过了什么?
我想通了。
我不得不在 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
因为这可能是因为您忘记在 module.ts file.Check 您的应用程序中添加 FormsModule。module.ts
import { FormsModule } from '@angular/forms';
...
imports: [ ..., FormsModule, ...]
我使用 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 { }
双向绑定不起作用...当我更改输入控件中的文本时,提交的名称没有改变
我错过了什么?
我想通了。
我不得不在 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
因为这可能是因为您忘记在 module.ts file.Check 您的应用程序中添加 FormsModule。module.ts
import { FormsModule } from '@angular/forms';
...
imports: [ ..., FormsModule, ...]