Angular $broadcast和$emit和$ond实现父子通信

<!DOCTYPE html><html ng-app="myApp"><head lang="en">  <meta charset="UTF-8">  <script src="js/angular.js"></script>  <title></title></head><body>

<div ng-controller="parentCtrl">  <button ng-click="toChild()">    向child传值  </button>

<div ng-controller="childCtrl">    <p>{{data}}</p>    <button ng-click="toParent()">向parent传值</button>  </div>

</div>

<script>  var app = angular.module(‘myApp‘, [‘ng‘]);

app.controller(‘parentCtrl‘, function ($scope) {    $scope.toChild = function () {      //通过事件传值 约定事件名称:toChildEvent      $scope.$broadcast(        ‘toChildEvent‘,        ‘ msg from parent‘)    }

//绑定toParentEvent事件的处理函数    $scope.$on(‘toParentEvent‘,      function (event, result) {        console.log(result);      })

});

app.controller(‘childCtrl‘, function ($scope) {    //绑定事件 $on    $scope.$on(‘toChildEvent‘,      function (event, result) {        console.log(arguments);        $scope.data = result;      });

$scope.toParent = function () {      //向父级元素通过事件传值 $emit 约定:toParentEvent      $scope.$emit(        ‘toParentEvent‘,        ‘msg to my parent‘      );    }

});

</script></body></html>
时间: 2024-10-14 22:51:49

Angular $broadcast和$emit和$ond实现父子通信的相关文章

通过$broadcast或$emit在子级和父级controller之间进行值传递

1 通过$broadcast或$emit在controller之间进行值传递,不过这些controller必须是子级或者父级关系, 2 $emit只能向父级parent controller传递事件event与数据data,$broadcast只能向子级child controller传递event与data,$on用于接收event与data. 3 <script> 4 var myapp=angular.module('myapp',[]); 5 myapp.controller('Sel

angular之$broadcast、$emit、$on传值

文件层级 index.html <!DOCTYPE html> <html ng-app="nickApp"> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"

angularjs的事件 $broadcast and $emit and $on

angularjs的事件 $broadcast and $emit and $on <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body ng-app="search"> <div ng-controller="ParentCtrl"&

Angular中$broadcast和$emit的使用方法

要在控制器之间传递变量变化需要使用angular中的$broadcast和$emit方法来传递,同时使用$on来接收事件并作出响应. broadcast译为广播,即上级传递下级. 示例代码: <script src="../angular.js"></script> <script> angular.module("app", []) .controller("child", function($scope)

vue中 关于$emit的用法(父子组件传值)

1.父组件可以使用 props 把数据传给子组件.2.子组件可以使用 $emit 触发父组件的自定义事件. vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( event, fn );//监听event事件后运行 fn: 例如:子组件: <template>      <div class="train-city">        <h3>父组件传给子组件的toCity:{{sendData}}</h3>

vue.js 创建组件 子父通信 父子通信 非父子通信

1.创建组件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>创建组件</title> <script src="https://unpkg.com/vue/dist/vue.js"></script> </head> <body> &l

vue 非父子通信

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport&

组件-父子通信

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> </style> </head> <body> <div id="app"> <user username="张&qu

微信小程序中父子通信

首先父组件 第一步引入 第二步写入 第三步JS 子组件 原文地址:https://www.cnblogs.com/binmengxue/p/12695995.html