在哪里找人做公司网站,可以做哪些网站,苏州公司注册费用,wordpress 规则课程地址#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程#xff0c;一套精通鸿蒙应用开发 #xff08;本篇笔记对应课程第 18 节#xff09;
P18《17.ArkUI-状态管理Observed 和 ObjectLink》 第一件事#xff1a;嵌套对象的类型上加上 Observed 装饰器… 课程地址 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程一套精通鸿蒙应用开发 本篇笔记对应课程第 18 节
P18《17.ArkUI-状态管理Observed 和 ObjectLink》 第一件事嵌套对象的类型上加上 Observed 装饰器 这里嵌套的还是 Person 类型如果嵌套的是其它类型则这些类型都需要加上 Observed 装饰器 第二件事需要给嵌套对象内部的对象加上 ObjectLink 装饰器 但现在嵌套对象的内部对象是作为构造方法的参数传递的不能加 ObjectLink 装饰器。 这样来改造一下定义一个组件把内部嵌套的对象传给组件让组件把内部嵌套的对象做成变量变量就可以加 ObjectLink 装饰器了具体这样来做 用代码来实践一下
完善功能当任务处于已完成状态时任务名称变灰且加中划线 此时验证效果没有生效为什么呢因为勾选或取消勾选时是对每个任务对象的 finished 属性进行重新赋值对数组中的对象属性的修改是不能感知到并触发视图更新的。
怎样实现呢
第一步给 Task 类加 Observed 装饰器 第二步在子组件中使用 ObjectLink 接收 item 对象 此时可以看到已经可以实现勾选完成的任务项的名称变成灰色了说明我们实现了数组中的元素是对象时修改对象的属性也可以让视图更新了。
解决在子组件中调用父组件中定义的方法将这个方法作为一个参数传递给子组件 此时操作视图发现报错了 这是因为子组件中调用父组件中定义的方法时方法中的this指向已经不再是父组件了而是调用方法的子组件而子组件中并没有对应的数据所以报错。
怎样解决在传递方法时为方法绑定this 总结 1、本节主要讲解了Observed 和 ObjectLink 装饰器它们主要是用来解决 对象内的属性是嵌套对象以及数组中的元素是对象时这些内部对象的属性变化不能引起视图更新的问题。主要解决方式是需要监控属性变更的对象类型上添加 Observed 装饰器同时给嵌套的对象或者数组元素的这个对象会产生变化的变量上前加上 ObjectLink 装饰器。一般做法是将这个对象作为参数传递给子组件在子组件中生明接收变量时就可以加上 ObjectLink 装饰器 了。 2、子组件调用父组件中的方法将父组件中的方法作为参数传递给子组件为了解决传递后this丢失的问题需要在传递时给方法绑定当前组件实例的this。