美文网首页
1.输入属性。

1.输入属性。

作者: Monee121 | 来源:发表于2018-02-28 18:28 被阅读0次

游戏机本身就是一个黑盒模型,我们看不到游戏机内部是如何运转的,只暴露两个手柄,不关心游戏机谁来恩手柄,游戏机只关心一件事,摁A显示什么,摁B显示什么。就像它不关心谁摁手柄输入信息,也不关心谁看屏幕输出,甚至有没有看都无所谓。 规定输入的格式(手柄),输出外面可能会感兴趣的东西。

我们的组件就是要设定成一个黑盒模型,如果一个组件要从外部接收一些东西,应该用输入属性声明它需要的东西,至于这些东西从哪里来,组件不需要知道。只需要知道需要的东西外部提供之后需要怎么做,一个组件 想把外部世界可能感兴趣的东西告诉外部世界,应该通过输出属性来设事件,至于这些事件发射给谁,组件也不需要知道,那些对组件发射东西感兴趣的东西应该自己来订阅组件发射的事件。

组件的输入属性是指被input装饰器注解的属性,用来从父组件接收数据。

场景很简单,在父组件里输入我想买的股票的名字,通过输入属性,传给子组件,子组件显示出来

步骤1:ng g component order ;
在order子组件里定义输入属性

  /*输入属性等着父组件给它传值*/
  @Input()
  stockCode: string; // 股票代码
  @Input()
  amount: number; // 股票数量

步骤2:order组件的html

<p>子组件</p>
<div>买{{amount}}手{{stockCode}}股票</div>

步骤3: 父组件app.component.ts中定义stock

 stock: ''; // 输入的股票代码默认是一个空的就可以

步骤4: app.component.html

<p>父组件</p>
<!--双向绑定,输入框输入会改变stock的值,--> 
<input type="text" placeholder="请输入股票代码" [(ngModel)]='stock'> 
<app-order [stockCode]="stock" [amount]="100"></app-order>
<!--展示子组件的内容,父组件的stock属性通过输入属性传给子组件的stockCode.-->

效果: image.png

注意:

1.一定记得写input装饰器

2.属性绑定是单向的, 只能父组件值改变影响子组件,子组件改变值,不会影响父组件。

 constructor() {
    setInterval(() => {
      this.stockCode = 'Apple';
    }, 3000);
  }
效果: image.png

比较下输入属性和路由传递参数传递

输入属性:是通过属性来传递数据的,这种传递只能在由父子关系的组件间从父组件给子组件传递数据。(父组件模板引用另一个形成的父子组件关系才能传递)

路由参数:我们是通过构造函数传递的,在构造函数依赖注入一个ActivatedRoute这样类型的对象进来,通过这个对象的参数快照或参数订阅来获取外面传入的参数。通过路由来往组件里传递数据。

相关文章

  • 1.输入属性。

    游戏机本身就是一个黑盒模型,我们看不到游戏机内部是如何运转的,只暴露两个手柄,不关心游戏机谁来恩手柄,游戏机只关心...

  • ng4跳坑记录

    一. 生命周期 1. 触发ngChanges的条件 ● 组件@Input输入属性变化● !!输入属性内部属性变化...

  • angular4 (4)组件间通讯

    <1>输入属性 定义:组件的输入属性,是指被@input装饰器注解的属性,用来从父组件接收数据 实例1.新建ord...

  • element-ui datepicker 日期使用小结

    1.禁止文本框(输入框)输入 增加属性editable=false;2.返回值需要加上属性value-format...

  • HTML5中新增的验证属性

    1.提示,输入域为空时显示,获得焦点输入内容后消失 (标签属性,直接写在标签属性中) placeholder 2....

  • HTML Input 属性

    value 属性 value属性规定输入字段的初始值 实例 readonly 属性 readonly属性规定输入字...

  • 微信小程序(组件--表单:交互控件)

    input输入框基础属性: input输入框组件–基础属性—type类型 type属性值 text:文本输入键盘 ...

  • EditText的输入限制设置

    如何在EditText中限定输入字符的方式: 1.通过设置digits属性限定输入的字符:android:digi...

  • CSS基础-18-表单示例

    1. 输入框 input 1.1 简易输入框 效果image.png 1.2 可用属性选择器 选取文本输入框 选择...

  • iOS 键盘遮挡输入框的问题

    1.声明属性(记录将要编辑的输入框) @property(nonatomic ,strong) UITextFie...

网友评论

      本文标题:1.输入属性。

      本文链接:https://www.haomeiwen.com/subject/aduixftx.html