交换输入值的发射和广播功能不起作用
Emit and Broadcast functon exchanging the input value not working
我正在尝试使用广播将父控制器 $scope
值更新为子控制器 $scope
值,但在尝试更新子 $scop
e 值时没有更新通过 emit 函数到父 $scope
值。这是我的代码:
app.controller('FirstCtrl', function($rootScope, $scope) {
$scope.firstRegister = function() {
$rootScope.$broadcast('broadcast', $scope.name)
};
$scope.$on('emit', function(events, args) {
$scope.name = args;
});
});
app.controller('SecondCtrl', function($rootScope, $scope) {
$scope.$on('broadcast', function(events, args) {
$scope.name = args;
});
$scope.secondRegister = function() {
$rootScope.$emit('emit', $scope.name)
};
<div ng-controller="FirstCtrl" class="ng-scope">
<input ng-model="name" />
<button ng-click="firstRegister()">Parent</button>
<div ng-controller="SecondCtrl" class="ng-scope">
<input ng-model="name" />
<button ng-click="secondRegister()">Child</button>
</div>
</div>
plnkr link : http://plnkr.co/edit/l9qD0ZO4MptnWx6u3U9c?p=preview
我在 rootscope
中的 broadcasting/emitting 事件然后在 rootscope
中捕获相同的事件。这是工作插件可以看到 click on this link
var app = angular.module('plunker', []);
app.controller('FirstCtrl', function($rootScope, $scope) {
$scope.firstRegister = function() {
$rootScope.$broadcast('broadcast', $scope.name)
};
$rootScope.$on('emit', function(events, args) {
$scope.name = args;
});
});
app.controller('SecondCtrl', function($rootScope, $scope) {
$rootScope.$on('broadcast', function(events, args) {
$scope.name = args;
});
$scope.secondRegister = function($event) {
$rootScope.$emit('emit', $scope.name)
} ;
});
我正在尝试使用广播将父控制器 $scope
值更新为子控制器 $scope
值,但在尝试更新子 $scop
e 值时没有更新通过 emit 函数到父 $scope
值。这是我的代码:
app.controller('FirstCtrl', function($rootScope, $scope) {
$scope.firstRegister = function() {
$rootScope.$broadcast('broadcast', $scope.name)
};
$scope.$on('emit', function(events, args) {
$scope.name = args;
});
});
app.controller('SecondCtrl', function($rootScope, $scope) {
$scope.$on('broadcast', function(events, args) {
$scope.name = args;
});
$scope.secondRegister = function() {
$rootScope.$emit('emit', $scope.name)
};
<div ng-controller="FirstCtrl" class="ng-scope">
<input ng-model="name" />
<button ng-click="firstRegister()">Parent</button>
<div ng-controller="SecondCtrl" class="ng-scope">
<input ng-model="name" />
<button ng-click="secondRegister()">Child</button>
</div>
</div>
plnkr link : http://plnkr.co/edit/l9qD0ZO4MptnWx6u3U9c?p=preview
我在 rootscope
中的 broadcasting/emitting 事件然后在 rootscope
中捕获相同的事件。这是工作插件可以看到 click on this link
var app = angular.module('plunker', []);
app.controller('FirstCtrl', function($rootScope, $scope) {
$scope.firstRegister = function() {
$rootScope.$broadcast('broadcast', $scope.name)
};
$rootScope.$on('emit', function(events, args) {
$scope.name = args;
});
});
app.controller('SecondCtrl', function($rootScope, $scope) {
$rootScope.$on('broadcast', function(events, args) {
$scope.name = args;
});
$scope.secondRegister = function($event) {
$rootScope.$emit('emit', $scope.name)
} ;
});