【发布时间】:2018-01-19 23:26:57
【问题描述】:
我是 Angular 2\4 的新手(我来自 Java),我对使用 PrimeNG “组件”的 Angular 项目有以下疑问。
我按照这个快速的“Hello World”视频教程(在我看来是一个官方教程)创建了我的第一个示例,其中包含 PrimeNG 到我的 Angular 4 web 应用程序中:https://www.youtube.com/watch?v=6Nvze0dhzkE
我对这个例子的逻辑以及我最终如何重构它有一些疑问。
好吧,正如你所看到的那样:
<p-calendar [(ngModel)]="value"></p-calendar>
{{value | date:'dd.mm.yyyy'}}
与 PrimeNG 日历组件相关(我认为它是一个组件,因为据我所知自定义标签与组件相关联,是吗?如果我做错断言,请纠正我) .
我认为我没有这个组件的代码,而是我用 npm 下载的东西,应该放在我项目的 node_modules 目录中,是吗?
然后将app.module.ts文件修改成这样:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import {CalendarModule} from 'primeng/primeng';
import {FormsModule} from '@angular/forms';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
FormsModule,
CalendarModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
// ???
export class MyModel {
value: Date;
}
我的疑惑主要和这个app.module.ts文件中声明的这个类有关:
导出类 MyModel { 值:日期; }
在我看来没用,我尝试删除,我的项目仍然有效。
那么在我看来,这条线到底是什么意思?
<p-calendar [(ngModel)]="value"></p-calendar>
我认为它应该将用户插入的值放入上一个 MyModel 类的 value 字段中,但似乎我遗漏了一些东西并且没有以这种方式工作。我错过了什么?
另一个疑问是,我可以这样做吗:
创建一个自定义组件,该组件将用作我的 app.component.html 视图中的自定义标记,类似于关联到 的 MyCustomCalendar 标签。
此组件视图应包含
其控制器应包含一个变量,该变量将使用选定的日期进行初始化。
我可以这样做吗?
【问题讨论】:
-
您在
AppComponent中有value属性吗?还是您拥有的唯一value属性在MyModel类中? -
@Szabolcs 唯一的值是 MyModel 类。
标签: angular typescript primeng javascript-framework