基本语法:
1、双向数据绑定
vue
指令:v-model=\"msg\"
react
constructor(){ this.state{ msg:\"双向数据绑定\" } render(){ <input type=\"text\" value={this.state.msg} ={(ev)=>this.handleChange(ev)} />{msg} } handleChange(ev){ this.setState({ msg:ev.target.value }) }
angular --ngMel(属性型指令)
app.Module.ts: import FromsModule from \"@angular/froms\"; app.component.ts: export class Appcomponent{ msg:\"双向数据绑定\" } app.components.html: <input [(ngModel)]=\"msg\" />{{msg}}
2、条件渲染:
vue
指令: v-if v-else-if v-else v-show
react
使用三目(三联)运算:{true ? x:y}
angular ---*ngIf(结构型指令)
指令:*ngIf 没有else指令 如果想要else,要使用ng-template
demo: <div *ngIf=\"isShow else elseBack\">aaaaaaaaaaaaaaaaaaa</div> <ng-template #elseBack>ddddddddddddddd</ng-template> ng-template:模板
3、列表渲染:
vue
指令:v-for <li v-for=\"item,index in list\" key=\"index\">{{item}}</li>
react
this.state.list.map((item)=>{ return <li key=\"item.id\">{item}</li> })
angular
指令:*ngFor
<ul>
<li *ngFor=\"let item of list,let i=index\">{{i}},{{item}}</li>
</ul>
<ul>
<li *ngFor=\"let item of list,index as i\">{{i}},{{item}}</li>
</ul>
angular小案例:Todos
app.component.html: <input type=\"text\" [(ngModel)]=\"info\" (keydown)=\"handleAdd($event)\" > //输入框 <ul> <li *ngFor=\"let item of list,index as i\"> {{i}},{{item}} <button (click)=\"handleRemove(i)\">X</button> </li> //显示列表 </ul> app.component.ts: export class AppComponent { list:Array<any>=[111,222,333]; //加入数据的数组 info=\"\"; //数据绑定变量 handleAdd(ev){ //添加数据的方法 if(ev.keyCode===13) { this.list.unshift(this.info); this.info = \"\"; } } handleRemove(index){ //删除数据的方法 this.list.splice(index,1); } }
继续阅读与本文标签相同的文章
下一篇 :
html5
-
大文件传输软件测评,看完就知道怎么选了
2026-05-19栏目: 教程
-
Gartner:2019年公有云服务六大趋势
2026-05-19栏目: 教程
-
虚拟主机有什么优、缺点?
2026-05-19栏目: 教程
-
服务注册
2026-05-19栏目: 教程
-
服务器被攻击 如何查找漏洞以及攻击手法
2026-05-19栏目: 教程
