当前位置: 首页 > 知识库问答 >
问题:

离子框架下与NGM模型的结合

韩华美
2023-03-14

我有一个困难在绑定ngModel到离子段,同时建立一个离子应用程序。下面是我收到的错误标题:

无法绑定到“ngModel”,因为它不是“离子段”的已知属性

我打算将共享模块用于两个模块。我使用标准HTML标记创建了另外一个共享模块,它可以根据需要工作。但这一次似乎造成了错误。

我尝试了许多其他用户提出的解决类似问题的方案,但似乎没有一个能解决问题。以下是我正在使用的共享模块:

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { CommonModule } from '@angular/common';
import { SomeClass } from './some-class';

@NgModule({
    imports : [
        CommonModule,
        IonicPageModule.forChild(SomeClass),
    ],
    declarations : [SomeClass],
    exports : [SomeClass]
})

export class SharedModule{

}

相同的HTML文件为:

 <ion-segment [(ngModel)]="XXX" (click)="someMethod()">
   <ion-segment-button value="A"> A </ion-segment-button> 
   <ion-segment-button value="B"> B </ion-segment-button> 
   <ion-segment-button value="C"> C </ion-segment-button> 
 </ion-segment> 

注意:这只是HTML文件的一部分,将包含在整个其他页面中。

组件文件:

import { Component } from '@angular/core';
import { NavController, IonicPage } from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'some-class',
  templateUrl: 'some-class.html'
})
export class SomeClass {

  XXX: String;

  constructor(public navCtrl: NavController) { }   

}

你知道我哪里出错了吗?我该怎么解决这个问题?

注意:我尝试过导入FormsMoules和ReactiveFormsMoules,也尝试过导出引用,但没有任何帮助。

共有1个答案

宇文飞羽
2023-03-14

ngModel指令来自FormsModule。

错误是无法找到指令(“未知”),它几乎总是缺少引用的指示器。在本例中,是FormsModule,它具有将ngModel指令绑定到任何HTML元素所需的库。

Angular 4与功能模块(例如,如果您使用的是共享模块)结合使用时,还需要导出ReactiveFormsModule才能工作。

我认为模块的代码应该是:

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; //CHANGE(ADD)
import { SomeClass } from './some-class';

@NgModule({
    imports : [
        CommonModule,
        FormsModule, ReactiveFormsModule, //CHANGE (ADD)
        IonicPageModule.forChild(SomeClass),
    ],
    declarations : [SomeClass],
    exports : [SomeClass, FormsModule, ReactiveFormsModule]
})

export class SharedModule{

}
 类似资料:
  • 我正在努力使样式正确。我认为这和各种离子标签的样式层次有关,但我不确定。 在我的应用程序中,我正在尝试将一些

  • 使用GatewayWorker时开发者最关心的是如何与现有mvc框架(ThinkPHP Yii laravel等)整合,以下是官方推荐的整合方式。见示意图: 总体原则: 现有mvc框架项目与GatewayWorker独立部署互不干扰 所有的业务逻辑都由网站页面post/get到mvc框架中完成 GatewayWorker不接受客户端发来的数据,即GatewayWorker不处理任何业务逻辑,Gat

  • 问题内容: 昨天,我将我的应用提交审核,但是我收到了苹果的消息。 应用会在IPv6网络上进行审核。请确保您的应用支持IPv6网络,因为需要IPv6兼容性。 有关支持IPv6网络的其他信息,请参阅支持iPv6 DNS64 / NAT64网络 。 有关网络概述,请参阅关于网络。 我的应用程序使用了离子框架,如何解决此问题。 我已经使用域访问服务器了,但是这个问题仍然存在。 问题答案: 最后,我使用了这

  • 在深入到模块进行分析之前,首先来看看Tornado的设计模型。 Tornado框架设计模型 从上面的图可以看出,Tornado 不仅仅是一个WEB框架,它还完整地实现了HTTP服务器和客户端,在此基础上提供WEB服务。它可以分为四层: 最底层的EVENT层处理IO事件; TCP层实现了TCP服务器,负责数据传输; HTTP/HTTPS层基于HTTP协议实现了HTTP服务器和客户端; 最上层为WEB

  • 但是,是我所说的“域”类--我的模型可以自由引用和使用的东西。我不希望我的域和模型层知道/依赖于这样一个事实,即应用程序是使用JavaFX显示的。 我认为模型/域在这方面应该保持纯净,这是对的吗?如果是这样,使用JavaFX最好的方法是什么?例如,我是否应该以某种方式为我的域对象编写适配器类,以便用来表示它们?