Javascript Angular 2属性绑定究竟是如何工作的?在这个例子中到底发生了什么?
我是Angular 2的绝对初学者,我对属性绑定有以下疑问 这个例子是有效的,但我怀疑引擎盖下到底发生了什么 我有一个组件视图(servers.component.html文件)包含以下按钮:Javascript Angular 2属性绑定究竟是如何工作的?在这个例子中到底发生了什么?,javascript,angular,angular2-databinding,Javascript,Angular,Angular2 Databinding,我是Angular 2的绝对初学者,我对属性绑定有以下疑问 这个例子是有效的,但我怀疑引擎盖下到底发生了什么 我有一个组件视图(servers.component.html文件)包含以下按钮: <button [disabled]="!allowNewServer" class="btn btn-primary">Add Server</button> 正如您在开始时所看到的,allowNewServer值为false,8秒后,构造函数中声明的函数将其设置为true 在
<button [disabled]="!allowNewServer" class="btn btn-primary">Add Server</button>
正如您在开始时所看到的,allowNewServer值为false,8秒后,构造函数中声明的函数将其设置为true
在“我的按钮”上设置了此禁用的属性:
[disabled]="!allowNewServer"
因此,在开始时,该按钮被禁用,8秒后将被启用
这些疑问是:
1) 角度语法的确切含义是什么
2) 我希望它被呈现为disabled=true(开始时)和8秒后的disabled=dalse,但8秒后,只需删除disable属性。因此,我认为我没有理解[…]语法的含义。
[…]
语法用于属性绑定。更多信息
我建议你学习谷歌制作的《英雄之旅》教程。它解释了Angular(v2、v4)的基本知识,并帮助您创建第一个酷炫的应用程序。您可以找到它。语法用于属性绑定。更多信息 我建议你学习谷歌制作的《英雄之旅》教程。它解释了Angular(v2、v4)的基本知识,并帮助您创建第一个酷炫的应用程序。你可以找到它
[]
语法告诉angular从数据绑定信息
源(组件实例)和模板(html)[]
语法告诉angular从数据绑定信息
源(组件实例)和模板(html)回答你的问题 什么是[…]角度语法? 以上语法用于数据绑定。正如官方文件所说 编写模板属性绑定以设置视图元素的属性。绑定会将属性设置为模板表达式的值。括在方括号中的元素属性标识目标属性 回答第二个问题 我希望在开始时呈现类似disabled=true的内容,在8秒后呈现类似disabled=false的内容,但在8秒后,disable属性被删除。因此,我认为我没有理解[…]语法的含义。
[disabled]=“!allowNewServer”
这行代码的作用是根据allowNewServer
将disabled属性设置为true或false。但disabled是一个布尔属性,即仅表示该属性的存在表示其设置为true,而不存在表示其为false。官方文件说
许多属性是布尔属性。元素上存在布尔属性表示真值,不存在该属性表示假值。如果存在该属性,则其值必须为空字符串或与属性规范名称不区分大小写的ASCII匹配值,且不带前导或尾随空格
因此,当该值设置为false(不被视为有效值)时,angular将删除该属性,因为它认为缺少该属性意味着false。这就是行为
供参考:
希望有帮助:)回答您的问题 什么是[…]角度语法? 以上语法用于数据绑定。正如官方文件所说 编写模板属性绑定以设置视图元素的属性。绑定会将属性设置为模板表达式的值。括在方括号中的元素属性标识目标属性 回答第二个问题 我希望在开始时呈现类似disabled=true的内容,在8秒后呈现类似disabled=false的内容,但在8秒后,disable属性被删除。因此,我认为我没有理解[…]语法的含义。
[disabled]=“!allowNewServer”
这行代码的作用是根据allowNewServer
将disabled属性设置为true或false。但disabled是一个布尔属性,即仅表示该属性的存在表示其设置为true,而不存在表示其为false。官方文件说
许多属性是布尔属性。元素上存在布尔属性表示真值,不存在该属性表示假值。如果存在该属性,则其值必须为空字符串或与属性规范名称不区分大小写的ASCII匹配值,且不带前导或尾随空格
因此,当该值设置为false(不被视为有效值)时,angular将删除该属性,因为它认为缺少该属性意味着false。这就是行为
供参考:
希望它有帮助:)对于#2-您的假设对于大多数html和自定义属性都是正确的。但是禁用
是特例。HTML规范希望该属性对于禁用的元素没有值,而对于其他情况则没有值。也就是说,
不是编写HTML的正确方法。此外,大多数浏览器会在您有
时禁用您的字段。这就是angular删除它的原因。对于#2-对于大多数html和自定义属性,您的假设是正确的。但是禁用
是特例。
[disabled]="!allowNewServer"