日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

【进阶玩法】Angular用emit()实现类似Vue.js的v-model双向绑定[(ngModel)]功能

發布時間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【进阶玩法】Angular用emit()实现类似Vue.js的v-model双向绑定[(ngModel)]功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

app.component.html

<app-sizer [(ngModel)]="fontSizePx"></app-sizer>
<p [style.font-size.px]="fontSizePx">父組件字號:{{fontSizePx}}px</p>

app.component.ts

...fontSizePx=12...

sizer.component.html

<div><button (click)="ngModelChange.emit(ngModel=ngModel+1)">增加+</button><button (click)="ngModelChange.emit(ngModel=ngModel-1)">減小-</button><button (click)="ngModelChange.emit(12)">重置</button><p [style.font-size.px]="ngModel">子組件字號:{{ngModel}}px</p>
</div>

sizer.component.ts

import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';@Component({selector: 'app-sizer',templateUrl: './sizer.component.html',styleUrls: ['./sizer.component.scss']
})
export class SizerComponent implements OnInit {constructor() { }ngOnInit(): void { }@Input()  ngModel: any;@Output() ngModelChange = new EventEmitter;//注意一定要用“綁定名稱+'Change'”的Output,否則不能被雙向綁定支持。在子組件內部使用“xxxChange.emit(值)”來觸發父組件ngModel綁定數據的變化(這是實現雙向綁定的核心)。}

實際渲染效果


?擴展閱讀?【說人話】真正意義上講清楚了如何在vue的自定義組件中使用v-model=“”雙向綁定_你摯愛的強哥?給你發來1條消息?-CSDN博客組件代碼:<template> <div class="sg-component"> </div></template><script> export default { props: ["modelValue"],//單項綁定(這個modalValue叫什么不重要,重要是保持一致,避開關鍵詞,用于接收父組件v-model=后面傳過來的值) model: {https://s-z-q.blog.csdn.net/article/details/108277420

總結

以上是生活随笔為你收集整理的【进阶玩法】Angular用emit()实现类似Vue.js的v-model双向绑定[(ngModel)]功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。