angular1.5 组件学习 -- 2.1、组件间的交互:父向子

一个组件干一个事,一个完整的功能有时需要多个组件协调完成,这就少不了组件间的数据交互,那先来记录下父组件向子组件传递数据。

复制代码
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <title>父组件向子组件传递变量</title>
    <script src="angular.js"></script>
</head>

<body>
    <father-component></father-component>
    <script>
        angular.module('myApp',[])
            .component('fatherComponent', {
                template: "<h3>father-component <input ng-model='$ctrl.sayHello'></h3>" + 
                "<child-component say-some='$ctrl.sayHello'></child-component>",
                controller: function () {
                    this.sayHello = 'Hello';
                }
            })
            .component('childComponent', {
                template: "<h3>child-component <input ng-model='$ctrl.saySome'></h3>",
                controller: function () {
                    this.$onChanges = function (event) {
                        console.log(event);
                    }
                },
                bindings: {
                    saySome: "<"
                }
            })
    </script>
</body>
</html>
复制代码

类似于调用指令时与指令的数据传递:将要绑定的变量写在调用的子组件自定义元素标签上,然后子组件通过 bindings 属性设置绑定的变量名(此名称为子组件作用域内供调用的变量名称)。

绑定的属性有三种前缀标识符可设置:

  1、“@”,单项绑定的前缀标识符,用于传递字符串;

  2、“=”,双向绑定标识符,父组件与子组件的变量的变化会相互影响;

  此基础上 compnent 还增加了一种标识符:

  3、“<”,单项数据传输,父组件状态的改变会传给子组件,子组件状态改变不会影响父组件状态。组件中建议使用此标识符,可触发生命周期钩子:$onChanges(changesObj)。

posted @   名字不好起啊  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示