博主信息
Sky
博文
291
粉丝
0
评论
0
访问量
7028
积分:0
P豆:617

模板之数据绑定

2021年10月20日 20:12:22阅读数:11博客 / Sky

模板的组成

模板由两部分组成,一部分是标准的 HTML 标签,另一部分是 Angular 的模板语法。
模板语法可以分为三种类型:数据绑定,指令和管道。
这些模板语法会根据业务逻辑,数据状态来渲染 HTML。

数据绑定

组件类中的属性、方法和模板之间建立的一种带有方向性的映射关系,就叫做数据绑定。
数据绑定可以划分为以下四种:

文本插值

将组件类中的属性(字符串为主)绑定到模板,就叫做文本插值。

例子:

// html
<p>
 {{ currentYear }}
</p>

// ts
currentYear = new Date().getFullYear();

*一般来说,双花括号里通常是变量或者表达式,Angular 会首先对这个变量或者表达式进行求值,然后将结果转换为字符串展示出来。

属性绑定

同样的,属性绑定也是将组件类中的属性绑定到模板上。比如下面的例子,文本插值和属性绑定可以达到相同的效果。

例子:

// html
<section>
 <p title="{{ currentYear }}">文本插值</p>
 <p [title]="currentYear">属性绑定</p>
</section>

// ts
currentYear = new Date().getFullYear();

*把要绑定的属性放在方括号 [ ] 内,Angular 就会将等号右侧的内容当作变量或表达式进行求值,否则,只会当作字符串处理。

在自定义标签中使用属性绑定,可以实现父组件向子组件传递数据的功能。

例子:

<talent-child *ngIf="param" [param]="param"></talent-child>

事件绑定

与前两种数据绑定方向相反,事件绑定是在模板中监听用户的行为,卖域名比如鼠标点击等,然后将这些行为和信息传递回组件类中,并做出相应的处理。

例子:

// html
<button (click)="onSave()">Save</button>

// ts
onSave(){
   console.log('click');
 }

在自定义标签中使用事件绑定(自定义事件),可以实现子组件向父组件传递数据的功能。

例子:

<talent-child (closeDrawer)="closeDrawer()"></talent-child>

*父组件和子组件之间的数据传递,不但涉及到属性绑定和事件绑定,还会使用到 @Input() 和 @Output()两个装饰器,在此就不再进行详细讲解,可以关注后续手记。

双向绑定

双向绑定是属性绑定和事件绑定的结合,用户的输入会自动更新到组件类中对应的属性上,而组件类中对应属性的变化也会立即反映到模板上。

例子:

// 模块文件需要引入:
// import { FormsModule } from "@angular/forms";

// html
<section>
 <input [(ngModel)]="text">
 <p>{{ text }}</p>
</section>

// ts
text = 'hello';


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 本篇文章给大家介绍一下angular10,带大家了解一下三种语法、/插值表达式、属性、样式、事件、双向、内置指令、引用变量等等。
    layui实现的方法:首先引入layui的css文件和js文件;然后建立视图,用于呈现渲染结果;接着编写版,使用一个script标签存放;最后渲染版即可。
    前的文章《一文了解vue中watcher双向原理(附代码)》中,给大家介绍了解了vue中complie双向原理。
    前的文章《解析vue中observer双向原理(代码分享)》中,给大家了解了vue中observer双向原理。
    双向的原理:采用“劫持”结合“发布者-订阅者”式的方式,通过“Object.defineProperty()”方法来劫持各个属性的setter,getter,在变动时发布消息给订阅者,
    相信大家在进行angularjs开发的时候也会遇到我现在遇到的问题:明明页面进行了双向,而且已经改变了,但是视图却并未刷新。
    前的文章《浅析JS中Array对象一些操作方法(附代码)》中,给大家了解了JS中Array对象一些操作方法。下面本篇文章给大家了解vue中observer双向原理,伙伴们来看看一下。
    本篇文章给大家介绍一下PHP中的预处理类及。有一的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    Vue.js 的核心是一个响应的系统,它允许我们在普通 HTML 中使用特殊的语法将 DOM “”到底层
    Vue.js 使用了基于 HTML 的语法,允许开发者声明式地将 DOM 至底层 Vue 实例的
    “本文主要是学习每个方法中__make这个方法是怎么执行的,还有既然学习了容器我们如何使用容器来调用配置来获取配置信息。”解析bindParams方法接下来就解析一下bindParams这个方法。
    uni-app开发教程栏目介绍 一般在script语言块的data块中义变量,在template语言块的视图中用{{}}调用变量,可以基本变量和组等,声明的变量都是响应式的,可以访问组的某个元素
    vue.js是mvvm框架,并且是一个轻量级的mvvc框架,是用来做DOM元素和的;Vue.js的核心是一个允许你采用简洁的语法来声明式的将渲染进DOM的系统。
    PHP中使用PDO修改:首先进行连接库,就是将PDO对象进行实例化;然后编写一个SQL语句;接着使用方法“prepare()”方法,将SQL语句进行预处理;最后进行参并执行SQL即可。
    区别:1、angularjs是通过“脏值检测”的方式比对是否有变更,实现双向;而vue是采用“劫持”结合“发布者-订阅者式”的方式实现双向
    Vue最独特的特性一,是其非侵入性的响应式系统。型仅仅是普通的JavaScript对象。而当你修改它们时,视图会进行更新。
    vue.js的特点:1、轻量级的框架,具有简单灵活的API;2、双向,采用简洁的语法将声明式渲染整合进DOM;3、指令;4、组件化,可以扩展HTML元素,封装可重用的代码;5、客户端路由
    微信公众号子菜单添加很多文章的方法:首先进入微信公众平台选择添加;然后选择想使用的页面,并添加文章;最后复制链接到公众号菜单栏即可。
    重中重、Vue的双向原理是什么?vue原理面试题,干货,面试绝对问道
    前的文章《浅析vue中complie双向原理(代码详解)》中,给大家了解了vue中complie双向原理。下面本篇文章给大家了解vue中路由切换白屏的问题,伙伴们来看看。