组件输入更改父级中传递的值

2024-02-23

据我了解,Input组件中的字段应该是单向的(父级到子级)。但是,我有一个值要传递给Input然后在组件中修改它,但我注意到它在父级中也发生了变化。这对我来说是有道理的,因为对象是通过引用传递的,但我猜这意味着 Angular 设置的整个“单向绑定”只是一种范例,而不是严格的? Angular 在幕后没有做任何事情来强制执行单向绑定?

基本上,我正在做:

<session-form [values]="session"></session-form>

In the session-form组件,我改变session.start从 unixtimestamp 到 Moment 对象。但我随后注意到父母,session.start也是一个 Moment 对象。

是否有使用这样的数据的范例?一旦设置,我是否应该将输入值复制到严格限制在组件范围内的变量中?


研究智能/哑(容器/演示)组件架构。

基本上,其想法是智能组件包含应用程序的状态或与包含该状态的服务进行通信。哑组件仅渲染从 @Input 提供给它的数据。智能组件将状态传递给哑​​组件。

您不是直接更新哑组件中的数据,而是使用事件发射器告诉智能组件更新数据。这样你就有了单向数据流。

更多信息请点击这里:http://blog.angular-university.io/angular-2-smart-components-vs-presentation-components-whats-the-difference-when-to-use-each-and-why/ http://blog.angular-university.io/angular-2-smart-components-vs-presentation-components-whats-the-difference-when-to-use-each-and-why/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

组件输入更改父级中传递的值 的相关文章

随机推荐

  • 显示随机选择 (Python)

    我有一个项目列表 我想从中随机显示一个项目 但显示的项目在最后 x 个请求中不得重复多次 列表 1 项目 1 项目 2 项目 3 项目 4 项目 5 项目 6 项目 7 项目 8 项目 9 第10项 显示随机选择 从上面的列表中 list2
  • 使用 Cloud Functions for Firebase 存储图像

    我正在尝试重构一些代码以使用 Cloud Functions for Firebase 该代码应将图像存储在 Firebase 存储中的某个路径中 大多数情况下 代码与以前完全相同 只是现在而不是 server post req res g
  • 为什么内联用户提供的构造函数使用基类构造函数?

    考虑以下说明性示例 include
  • 制作我自己的 Eclipse 介绍页面

    我在制作自己的 Eclipse 介绍页面时遇到困难 如图所示 http help eclipse org help33 topic org eclipse platform doc isv guide ua intro hello worl
  • 如何使用 Swift scenekit 在 IOS 上绘制摄像头视频作为背景?

    我正在尝试在 ios 上使用 swift 和 scenekit 开发一个增强现实应用程序 有没有办法将设备摄像头拍摄的视频绘制为场景背景 这对我有用 I used AVFoundation捕获设备摄像头的视频输入 let captureSe
  • Atom 可以与 Python virtualenvwrapper 一起使用吗

    我想启动一个 Flask 应用程序 我安装了 virtualenvwrapper 来管理包 但我无法让 Atom 知道当前项目应该使用 virtualenv 的 python 二进制文件 from flask import Flask re
  • 如何保留同一个Android应用程序的两个版本?

    我们经常看到 Android 应用程序有两个版本 付费版本和免费版本 我还在开发一个想要发布两个版本的应用程序 做这个的最好方式是什么 在我看来 创建两个项目并在其间复制文件似乎不是最好的方法 Use 图书馆计划 http develope
  • Django 中的aggregate() 与 annotate()

    姜戈的QuerySet有两种方法 annotate and aggregate 文档说 与aggregate 不同 annotate 不是终止子句 annotate 子句的输出是一个查询集 https docs djangoproject
  • EVENTTARGET 确定发件人的问题

    我试图找出点击了哪个按钮 这段代码在 IE 中运行得很好 但如果我在 Chrome Firefox 或 Safari 中它不会执行任何操作 在 Firefox 中使用 firebug 时 我查看了表单详细信息 它显示 EVENTTARGET
  • 在 readthedocs 中构建随机失败

    Readthedocs 似乎有一个奇怪的问题 构建失败 没有任何明显的原因 在同一个提交 ID 上 构建一次失败 后来成功 Failure https readthedocs org projects opnfvdocsdemo build
  • 如何在独立的 Turbine 应用程序中激活 /turbine.stream 端点

    我正在尝试创建一个独立的应用程序来从其他应用程序收集 Hystrix 流 但它并没有暴露 turbine stream默认端点 我确信我的项目中缺少什么 Spring Boot 2 0 4 RELEASE Spring Cloud Finc
  • 有没有办法关闭 WebDriver 或 Protractor 中的选项卡?

    有没有办法通过 Protractor 或 WebDriver 物理关闭选项卡 我问是因为虽然我知道如何切换标签 https stackoverflow com questions 26798020 protractor switch to
  • 如何将多个图像上传到 Firebase Storage 并返回多个 downloadURL

    我们正在开发一个简单的电子商务应用程序 我们需要上传多个产品图片 使用 Vuejs 和 Vue Croppa 我们需要将图像上传到 firebase 存储 检索下载 URL 然后在将该产品添加到数据库时将这些 URL 包含在数组中
  • 使用从 ramda 中的原始属性派生的新属性来转换对象

    变换以下对象的最简单方法是什么 original name bob age 24 result name bob age 24 description bob is 24 years old 我可以使用 Lens 来更新单个属性 例如增加年
  • 如何在php中解密sha1?

    下面我使用 sha1 加密了一个字符串变量 现在我希望使用 sha1 函数解密数据 但我要去某个地方 请有人站出来以正确的方式指导我 下面是我的代码 我得到这样的输出 tiger 46e3d772a1888eadff26c7ada47fd7
  • 类型别名的范围是什么?

    Typescript 类型别名的范围是什么 我有这个别名 我想我可能想以某种方式在全球范围内声明它 type ResouceResult
  • 熊猫和 AWS Lambda

    有人有与 AWS Lambda 兼容的完全编译版本的 pandas 吗 搜索了几个小时后 我似乎找不到我要找的东西 而且关于这个主题的文档也不存在 我需要在 lambda 函数中访问该包 但是我未能成功地使该包正确编译以在 Lambda 函
  • 如何从 json 文件中删除 json 对象?

    我想从此 json 文件中删除年龄using org json or com googlecode json simple 假设这个 json 对象位于文件 test json 中 age 100 name mkyong com messa
  • 现代浏览器仍然限制并行下载吗?

    In 这篇雅虎文章 http yuiblog com blog 2007 04 11 performance research part 4 从 2007 年开始 作者认为静态资源应该分布在不同的主机名上 因为浏览器遵循 HTTP 1 1
  • 组件输入更改父级中传递的值

    据我了解 Input组件中的字段应该是单向的 父级到子级 但是 我有一个值要传递给Input然后在组件中修改它 但我注意到它在父级中也发生了变化 这对我来说是有道理的 因为对象是通过引用传递的 但我猜这意味着 Angular 设置的整个 单