首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我绑定一个false值时,我的angular 7 web组件@Input<boolean>不工作

当您绑定一个false值时,您的Angular 7 Web组件的@Input<boolean>不工作的原因可能是由于Angular的变更检测机制。

在Angular中,当一个@Input属性绑定发生变化时,Angular会检测这个变化并更新组件的视图。然而,当您绑定一个false值时,由于JavaScript中的false值被认为是一个无效的变化,Angular的变更检测机制可能无法检测到这个变化。

为了解决这个问题,您可以尝试以下几种方法:

  1. 使用ngOnChanges生命周期钩子函数:在组件中实现ngOnChanges生命周期钩子函数,并在该函数中检测@Input属性的变化。这样,无论绑定的值是true还是false,都能够触发相应的逻辑。
  2. 使用setter方法:在组件中为@Input属性创建一个setter方法,并在该方法中处理属性的变化。这样,当您绑定一个false值时,setter方法会被调用,您可以在其中执行相应的逻辑。
  3. 使用ngDoCheck生命周期钩子函数:在组件中实现ngDoCheck生命周期钩子函数,并在该函数中手动检测@Input属性的变化。这样,您可以在每次变更检测周期中检测属性的变化,并执行相应的逻辑。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数计算(云原生无服务器计算服务):https://cloud.tencent.com/product/scf
  • 腾讯云云数据库 MySQL 版(高性能、可扩展的关系型数据库):https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云服务器(弹性计算服务):https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台(连接和管理物联网设备的云服务):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动应用开发与运维解决方案):https://cloud.tencent.com/product/mobdev
  • 腾讯云对象存储(海量、安全、低成本的云端存储服务):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(基于区块链技术的一站式解决方案):https://cloud.tencent.com/product/baas
  • 腾讯云虚拟专用网络(安全、可扩展的云上私有网络):https://cloud.tencent.com/product/vpc

请注意,以上链接仅供参考,具体的产品选择应根据您的实际需求和情况进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular 6.x 基础教程

,若我们改变绑定表达式为 (click)="onClick(myInput)" ,当我们点击按钮,控制台输出结果是: 通过该输出结果,我们可以知道 #variableName...,当我们按下键盘 enter 键,将会调用组件类中定义 onEnter() 方法。...true even: boolean —— 若当前项索引是偶数,则返回 true odd: boolean —— 若当前项索引是奇数,则返回 true 需要注意是,*ngFor 中 * 号是语法糖...需要注意是,当 SimpleFormComponent 组件属性名称不是 message ,我们需要告诉 Angular 如何进行属性绑定,具体如下: export class SimpleFormComponent...使用 ngClass 指令 ngClass 指令接收一个对象字面量,对象 key 是 CSS class 名称,value 是 truthy/falsy ,表示是否应用该样式。

15.6K20

Angular 从入坑到挖坑 - 组件食用指南

四、Step by Step 4.1、组件与模板 4.1.1、组件基础概念 组件包含了一组特定功能,每个组件功能都单一且独立,可以进行重复使用;组件可以通过 angular cli 进行创建,生成组件位于工作空间...4.1.2、模板绑定语法 在 angular 应用中,组件扮演着控制器或是视图模型作用,在创建组件时会关联一个 html 文件,这个 html 文件则是一个基础 angular 模板文件 在这个模板文件中...="expr">NgIf 结构型指令 当 expr 属性为 true ,这个元素则会显示在页面上,当属性false ,则不显示该元素 ngIf 指令并不是通过使用 css 样式来隐藏元素...index 属性在每次迭代中,会获取到条数据索引 当渲染数据发生改变 4,会导致 dom 元素重新渲染,此时可以采用 trackBy 方式,通过在组件中添加一个方法,指定循环需要跟踪属性...非空断言运算符用来告诉编译器对特定属性不做严格校验,当属性为 null or undefined 抛错误。

15.8K30

Angular快速学习笔记(3) -- 组件与模板

Angular 执行这个表达式,并把它赋值给绑定目标的属性,这个绑定目标可能是 HTML 元素、组件或指令。 典型表达式上下文就是这个组件实例,它是各种绑定来源。...模板绑定是通过 property 和事件来工作,而不是 attribute. 数据绑定目标是 DOM 中某些东西。...当它通过属性绑定形式被绑定时,会“流入”这个属性。 输出属性是一个带有 @Output 装饰器可观察对象型属性。 这个属性几乎总是返回 Angular EventEmitter。...子组件暴露一个 EventEmitter 属性,当事件发生,子组件利用该属性 emits(向上弹射)事件。...onVoted = new EventEmitter(); voted = false; vote(agreed: boolean) { this.onVoted.emit

15.2K30

国庆节前端技术栈充实计划(8):使用 AngularJS 和 ReactJS 经验

当我在表单中遇到一个由于 ngIf directive 创建一个子域而导致问题,我处理起来还是很费劲。...还有当我想要从一个准备发送给服务器 JSON 中移除一些空白字段发现 UI 中对应数据也被一并移除了 —— 丫双向绑定 ╮(╯▽╰)╭。...还有当我想要使用 ngShow 和 ngHide 来显示一个 HTML 块同时隐藏另一个 HTML 块,在一瞬间,两者同时显示了。...另一个无法吐槽好东西是:内建表单控制器,它为 input 字段提供了默认格式化、解析和校验,而且还提供了一个很好插件用来展示错误信息。...WEB前端性能优化常见方法 一小内搭建一个全栈Web应用框架 干货:CSS 专业技巧 四步实现React页面过渡动画效果 让你分分钟理解 JavaScript 闭包 ---- ---- 小手一抖,

1.4K30

AngularDart4.0 指南- 表单 顶

在开发表单,创建一个数据录入体验非常重要,该体验可以通过工作流高效地引导用户。...一路上你将学习如何: 用组件和模板构建一个Angular表单。 使用ngModel创建读取和写入输入控制双向数据绑定。 跟踪状态变化和表单控件有效性。...valid反映了控制有效性。 样式控件 有效控制属性是最有趣,因为当一个控制无效,你想发送一个强烈视觉信号。...如果您忽略原始状态,则只有在该有效才会隐藏该消息。 如果您使用新(空白)英雄或无效英雄到达此组件,则在您执行任何操作之前,您将立即看到错误消息。...提交标志变为真,表格消失。 您将看到表格中显示英雄模型(只读)。 ? 该视图包含一个编辑按钮,其单击事件绑定将清除提交标志。 当您单击编辑按钮,该表消失,并且可编辑表单重新出现。

17.5K30

一个Angular 5教程:一步一步指导实现你一个Angular 5应用程序

Angular一个完全集成框架,可以让您快速开始项目工作,无需考虑选择哪个库以及如何处理日常问题。认为Angular是作为前端,就像RoR是作为后端。...当我们描述了我们组件职责,显然这应该是一个卡片列表组件。...或者,您可能已经在所有那些华丽AngularJS演示中看到了它,您可以在其中输入要输入并为我们更新页面内容。 这里有一个有趣小技巧:在Angular中,双向数据绑定已经不再适合我们了。...我们在我们组件中订阅我们观察器。它们被用在我们应用程序不同部分,所以它们可能会一路销毁 - 例如,当我们在路由中使用组件作为页面(我们将在本指南后面讨论路由)。...使用Angular有什么好处? 使用Angular主要优点是获得一个完全集成Web框架,该框架提供了自己内置解决方案,用于构建组件,路由和使用远程API。 Angular模块如何工作

42.5K10

Angular Input和Output

Angular 应用是由各式各样组件组成,当应用启动Angular 会从根组件开始启动,并解析整棵组件树,数据由上而下流下下一级子组件。...(‘bindingPropertyName’) Input 装饰器支持一个可选参数,用来指定组件绑定属性名称。...它会获得一个 SimpleChanges 对象,包含绑定属性和旧,它主要用于监测组件输入属性变化。...前面我们介绍了 Input 装饰器作用,也了解了当应用启动Angular 会从根组件开始启动,并解析整棵组件树,数据由上而下流下下一级子组件。...当 Angular 在解析模板,遇到 [(modelName)] 形式绑定语法,它会期待这个指令中会存在一个名为 modelName 输入属性和一个名为 modelNameChange 输出属性

2.3K50

Angular2 之 结构型指令几个概念

Angular一个强力模板引擎,它能让你轻松维护元素DOM树结构。 Angular指令可分为三种 组件 属性型指令 结构型指令 组件 组件其实就是一个带模板指令。...NgIf案例分析 该指令接受一个布尔,并据此让一整块DOM树出现或者消失。 注意:这里是出现或者消失,并不是隐藏。 隐藏元素利弊 当我们隐藏元素组件行为还在继续。... 移除元素组件 利 把ngIf设置为false,将会影响到组件资源消耗。angular会从DOM中移除该元素,停止相关组件变更检测,把它从DOM事件中移除,并且销毁组件。...*/ @Input() set myUnless(condition: boolean) { if (!...它把指令移到了 标签上,成为该标签一个属性绑定 —— 包装在方括号中。 宿主组件condition 属性布尔决定该模板内容是否应该被显示。

3K20

AngularJS 1 教程

从使用角度来说脏检查 从性能角度来说脏检查 指令 directive,以及用指令写组件 Promise 为什么需要前端框架 随着浏览器性能提升,更多Web Page演变为Web App,特别是在中大型项目中...,就需要一个 前端框架 来: 解耦应用逻辑,数据模型,和界面视图 更加方便多人协作 基本组件抽离复用 相对低成本性能保证 方便测试 …… 为什么2016年今天仍然可以学习Angular 1 眼下潮流框架太过于现代...学习AngularJS 1 AngualrJs则通过数据双向绑定屏蔽了DOM操作,MVC解耦代码,依赖注入,自定义指令来复用代码,然后配合强大路由,本地化,安全特性等,成功地成为了前ES6代最流行前端框架...作用域、数据双向绑定、模块 作用域(scope)是AngualrJs中基础概念,一般而言,一个controller一个scope , 每个controller中内置一个数据模型对象scope。...必要时候使用指令 directive 指令 directive,以及用指令写组件 指令是Angular中相对低层,却又非常强大功能。

4.6K30

(转) 别再对 Angular 表单 ControlValueAccessor 感到迷惑

然后将展示如何封装第三方组件作为 Angular 组件,以及如何使用输入输出机制实现组件间通信(译者注:Angular 组件间通信输入输出机制可参考官网文档),最后将展示如何使用 ControlValueAccessor...本文将使用原生表单控件术语来区分 Angular 特定 formControl 和你在 html 使用表单控件,但你需要知道任何一个自定义表单控件都可以和 formControl 指令进行交互,而不是原生表单控件如...),你需要把更新传给这个回调函数,这样对应 Angular 表单控件也会更新(译者注:这一点可以参考 Angular 它自己写 DefaultValueAccessor 写法是如何把 input...formControl 指令,在其自身实例化时,会调用 setUpControl() 函数给同样绑定input DefaultValueAccessor 指令做好安装工作,如 L85,这样 formControl...组件封装器 由于 Angular 为所有默认原生控件提供了控件访问器,所以在封装第三方插件或组件,需要写一个控件访问器。

3.8K20

AngularDart4.0 高级-属性(Attribute)指令 顶

指令工作? 你记得设置@Component指令属性吗?很容易忘记!...确认当鼠标悬停在p上出现背景颜色,并在移出消失。 ? 通过@Input数据绑定传入指令 目前,高亮颜色在指令中被硬编码。 这是不灵活。...没有@InputAngular拒绝绑定到属性。 您之前已将模板HTML绑定组件属性,并且从未使用@Input。 有什么不同? 差别是一个信任问题。 Angular组件模板视为属于组件。...从Angular绑定角度来看,它们是私密。当用@Input注解装饰,该属性从Angular绑定角度变成公共。只有这样它才能受到其他组件或指令绑定。...您可以通过绑定中属性名称位置来判断是否需要@Input。 当它出现在等号(=)右边模板表达式中,它属于模板组件,不需要@Input注解。

3.2K10

day02_品优购电商项目_02_前端框架AngularJS入门 + 品牌列表实现 + 品牌列表分页实现 + 增加修改删除品牌实现 + 品牌分页条件查询实现_用心笔记

目标7:完成品牌管理条件查询功能 - 1....1.2 AngularJS四大特征 1.2.1 MVC模式   Angular遵循软件工程MVC模式,并鼓励展现,数据,和逻辑组件之间松耦合,通过依赖注入(Dependency Injection...),Angular为客户端Web应用带来了传统服务端服务,例如独立于视图控制。...有了$scope就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新$scope,同样$scope发生改变也会立刻重新渲染视图。..., "删除品牌失败");         }     } 6.3 前端代码 6.3.1 JS代码 主要思路:我们需要定义一个用于存储选中ID数组,当我们点击复选框后判断是选择还是取消选择,如果是选择就加到数组中

9K64

ng 核心模块

ng ng (核心模块) 这个ng模块是当AngularJS应用启动时候默认加载。这个模块自己包含了一个AngularJS应用工作必需组件。...注意:记住angular.extend不支持递归合并(深度copy)。 angular.noop 这个函数执行任何操作。这个函数可以用于当需要一个函数风格代码。...支持类型,正则表达式,数组和对象。 angular.bind 返回一个函数fn,绑定了self参数为这个函数this。你可以再传递一个args参数预先绑定到这个函数上。...HTML规范没有规定浏览器保存checkedboolean。...(当checked有的时候代表true,没有checked时候表示false),如果我们放了一个angular表达式到一个属性中来绑定这个信息,当浏览器删除这个属性时候我们将失去绑定关系。

1.2K10

angular入门教程_初学者织围巾简单教程慢动作

这也是一个常见坑,因为你需要给 Web 容器配置一下处理 http 请求规则,把前端路由扔回去交给 Angular 处理,请参考这份文档。 诸如此类坑还有不少,都是一个一个坑踩过来。...相信,你只要紧扣“组件化”这个主线,就能站在一个很高角度统摄全局,从而掌握到这门框架精髓。...集中回答一些常见问题 浏览器兼容性 关于 Angular 浏览器兼容性,请看下图: 有一些国内开发者会来争论兼容 IE8 问题,想给你两个事实: 第一个事实是:截至2017年7月底,Chrome...关于 Mustache 语法,你需要掌握3点: 它可以获取到组件里面定义属性。 它可以自动计算简单数学表达式,例如:加减乘除、取模。 它可以获得方法返回。...=false;public isUnchanged:boolean=false;public isSpecial:boolean=false;setCurrentStyles() { this.currentStyles

3.3K20

AngularDart4.0 指南- 模板语法二 顶

当模板表达式计算结果为trueAngular会添加类。 当表达式为false,它将删除类。 <!...当表达式为false,NgIf从DOM中删除HeroDetailComponent,销毁该组件及其所有子组件。 在Dart模式下,Dart期望布尔(类型为bool)为true或false。...当NgIf为falseAngular从DOM中删除元素及其后代。 它摧毁了他们组件,潜在地释放了大量资源,从而带来了更加快速用户体验。 展示/隐藏技术适合少数几个后代元素。...每个组件都有一个绑定到父组件currentHero英雄输入属性。 switch指令也适用于原生元素和Web组件。 例如,您可以使用以下代替switch选项。... 模板引用变量(#var) 模板引用变量通常是对模板内DOM元素引用。 它也可以是对Angular组件或指令或Web组件引用。 使用hash符号(#)来声明一个引用变量。

29.9K20

Angular: 最佳实践

Note: 本文中,将尽量避免官方在 Angular Style Guide 提及模式和有用实践,而是专注自己经验得出东西,将用例子来说明。...组件 Component 组件Angular 核心特性,如果你设法让它们被组织得井井有条,你可以认为你工作已经完成了一半。 考虑拥有一个或者几个基本组件类。...我们知道一个路由对应一个 Angular 组件,但是推荐你使用容器组件,它将处理数据(如果有数据需要传递的话)并将数据传递给另外一个组件,该组件将使用输入所包含真实视图和 UI 逻辑。...小经验:当我们在带有子元素 HTML 元素上编写 ngFor 指令,请考虑将该元素分离为单独组件,就像下面: <div *ngFor="let user...读者可能意识到我并没有写关于 Directives 和 Pipes <em>的</em>相关内容,那是因为<em>我</em>想写篇详细<em>的</em>文章,关于 <em>Angular</em> 中 DOM 是怎么<em>工作</em><em>的</em>。

2.8K40
领券