USADO Directivas de Angle Paradider Componentes de Terceros
25616 ワード
Traducción en español del artículo original de Tim Deschryver publicado el 11 marzo 2022
Las Directivasエヌ角息子ポコUSADAS y yoクレオque esポーque nosotrosなしsabemos todoデlo息子容量デハッカー.SIの利用について
*ngIf
YngFor
, Do pero deberは、tu c didi contener Directivas Propiasを引きます?<研究ノート> Ea Pregunta Es Provablementte que no , y si en caso de , t rano Lo
エヌ・アーツ・アート『カロ、ヨー・キエロ・モストラート・ウー』について
Vamos A Mirar el Ejplo :
ディレクティブ
En mi proyecto usamos EL成分
p-calendar
デPrimeng y como podemosは、エルSiguiente C通digo seカダvezを撃退します.<p-calendar
[(ngModel)]="date"
required
id="date"
name="date"
dateFormat="dd/mm/yy"
[showIcon]="true"
[showButtonBar]="true"
[monthNavigator]="true"
[yearNavigator]="true"
yearRange="1900:2050"
[firstDayOfWeek]="1"
>
</p-calendar>
エステマークアップは、RequeridoパラConfigurerエルComponenteデルmodo que queremos por defectoに行きます.y si me prepretas que todo este c di digo no no no unsucia el c c didigo,ino tambi are n confunde y enga her a,haciendo creer que las cosas son m s s s complete jo de lo que son en realidadヨーグ・プエット・オルヴィダール( O - Saber que Tengo ) que Agregar un Atributo alp-calendar
y este se comportaデotra manera para el usuarioアデムは、s、cuandoエル構成要素、明快さ、カンビアo Agrega Un Nuevo
p-calendar
エヌNuestro cは、digoです.エヌ再開、esto tiene impactoエヌnuestros開発者y tambi es n en en los usualia.Cuando Nosotros Lethfactorizamos EL C Directiva Analzazando Nuna Directiva、Elテンプレートse Vuelve m s s単純なy nos aseguramos de siempre brindar la misma periencia al usuario
最後のセリア
<p-calendar [(ngModel)]="date" required id="date" name="date"></p-calendar>
ペルーコモヘーゼルパスド14 14 l nea de html a nicamente una,la respuesta es usando una directivaエル・セレクター
p-calendar
, パラ・バスカーp-calendar
E ineectamos EL Calendar en a la Directiva , Configuru nno como nosotros necesitamoscalendar.directive.ts
import { Directive } from '@angular/core';
import { Calendar } from 'primeng/calendar';
@Directive({
selector: 'p-calendar',
})
export class CalenderDirective {
constructor(private calendar: Calendar) {
this.calendar.dateFormat = 'dd/mm/yy';
this.calendar.showIcon = true;
this.calendar.showButtonBar = true;
this.calendar.monthNavigator = true;
this.calendar.yearNavigator = true;
this.calendar.yearRange = '1900:2050';
this.calendar.firstDayOfWeek = 1;
}
}
カンビダンドラコンフィギュレーション
ヘーゼル・クレド・アパリカの構成
<p-calendars
, Pero Podemos Tener Algは、caso que esto no aplique、para eso podemos sobreescribir los valores predefinidosエヌaquellos que reneren algo diferenteです.ElエルSiguiente Ejprao、Podos os desactivar la opciは、Navegaciのnを表します.
<p-calendar [monthNavigator]="false" [yearNavigator]="false"></p-calendar>
ディレクティブ
スペイン語から見たスペイン語の語彙と動詞の意味
POR Ejploo , Tenemos un dropdown que tiene un contrato genes rico y queremos afectar solos losについて
p-dropdown[codes]
, Estos pueden ser設定Noar que tenemos el atributocodes
エヌエルセレクターパラは、Nicamente AfectarエステElemementosを得ます.import { Directive, OnInit } from '@angular/core';
import { Dropdown } from 'primeng/dropdown';
import { sortByLabel } from '@core';
@Directive({
selector: 'p-dropdown[codes]',
})
export class CodesDropdownDirective implements OnInit {
constructor(private dropdown: Dropdown) {
this.dropdown.optionLabel = 'label';
this.dropdown.optionValue = 'key';
this.dropdown.showClear = true;
}
public ngOnInit(): void {
this.dropdown.options = [...this.dropdown.options].sort(sortByLabel);
if(this.dropdown.options.length > 10) {
this.dropdown.filter = true;
this.dropdown.filterBy = 'label';
this.dropdown.filterMatchMode = 'startsWith';
}
}
}
デestaマララ,ニクアメリスロスp-dropdown
queテンガエルアトリビュートcodes
, <研究ノート>スペイン語におけるスペイン語とスペイン語codes
.<p-dropdown [(ngModel)]="favoriteSport" codes required id="sport" name="sport"></p-dropdown>
ディレクティブ
Otra es Agregar EL擬似セレクタ
:not()
, エヌNuestra Directiva、パラque ApliqueラConfigaci i nパラシュートresetDropdown
. <武井>
codes
アル90 %デロスElementtos、オトラマナーラソロagregarラDirectiva l 10 % restante.エヌVez usarエルAtributo
codes
パラマルカーロスDropdown、nosotros asumimos que es el comporamiento por defecto、pero usando elresetDropdown
Per excluir el comportamientoimport { Directive, OnInit } from '@angular/core';
import { Dropdown } from 'primeng/dropdown';
import { sortByLabel } from '@core';
@Directive({
selector: 'p-dropdown:not(resetDropdown)',
})
export class CodesDropdownDirective implements OnInit {
constructor(private dropdown: Dropdown) {
this.dropdown.optionLabel = 'label';
this.dropdown.optionValue = 'key';
this.dropdown.showClear = true;
}
public ngOnInit(): void {
this.dropdown.options = [...this.dropdown.options].sort(sortByLabel);
if(this.dropdown.options.length > 10) {
this.dropdown.filter = true;
this.dropdown.filterBy = 'label';
this.dropdown.filterMatchMode = 'startsWith';
}
}
}
enエルhtml、emplearは、デla siguiente maneraです.<!-- Usando la directiva codes por defecto -->
<p-dropdown [(ngModel)]="favoriteSport" required id="sport" name="sport"></p-dropdown>
<!-- Excluyendo el p-dropdown porque contiene el atributo resetDropdown -->
<p-dropdown
[(ngModel)]="preference"
resetDropdown
required
id="preference"
name="preference"
></p-dropdown>
Directivasパラシュートで降下する人Cargar Datos
<研究ノート>ポートランド・ハッサーの研究について
エステes muyは、パラシュートで降下して、se datasources que se repiten o seを利用します.
エヌ・エル・シグヌーテの思想
countries
, Las Dropdown que利用によるパラHacer el結合countries
COMOデータソースエステDirectiva puede usarseは、anidadas詐欺Otras@Ouput()
パラEmiltir un Evento Cuando Los国Estは、Cargadosです.import { Directive, EventEmitter, OnInit, Output } from '@angular/core';
import { Dropdown } from 'primeng/dropdown';
import { GeoService, sortByLabel } from '@core';
@Directive({
selector: 'p-dropdown[countries]',
})
export class CountriesDropdownDirective implements OnInit {
@Output() loaded = new EventEmitter<ReadonlyArray<Countries>>();
constructor(private dropdown: Dropdown, private geoService: GeoService) {}
public ngOnInit(): void {
this.geoService.getCountries().subscribe((result) => {
this.dropdown.options = result.map((c) => ({ label: c.label, key: c.id })).sort(sortByValue);
this.loaded.emit(this.dropdown.options);
});
}
}
Ahora usamosラDirectiva<p-dropdown
[(ngModel)]="country"
countries
required
id="country"
name="country"
(loaded)="countriesLoaded($event)"
></p-dropdown>
`再開する
Las Directivasデ角息子ムイPoderosas、pero tristementeポコ利用者.
カムプレーン・コンprincipio Open-closed . <研究ノート>セラダリオ・パラ修飾物について
POR EJPLATO , CON LAS Directivas as Podemos Modificar el Comportamiento de Terceros O de Nuna Librer ' s que que Tenemos - Access al C - c dididel del enente
Es Cierto que Podemos Lograr Lo Mismo Empleando un Componedor y Componentes que Theenes Configativiones完成度
第二次世界大戦の構成要素としてのスペイン語の集合体について
Thanks to
オピニ
Las siguientes lineas no son parte del post original.
デスミプントデビスタ、利用可能なLas Directivas Nos permite Mucha Flexbilidad al Trabajar con構成要素としてのTerceros Lograrカプセル化Ciertos Casos罪Modificer el Comportamientoオリジナル.
La ParteデCargar Datos usando una Directiva es algo muy poderoso y hace muy柔軟なNuestro Cは、digoをします.
写真でEthan Robertson on Unsplash
Reference
この問題について(USADO Directivas de Angle Paradider Componentes de Terceros), 我々は、より多くの情報をここで見つけました https://dev.to/danyparedes/usando-directivas-de-angular-para-extender-componentes-de-terceros-4eekテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol