环球科创网

谈角度控制器通讯的四种方式

更新时间:2021-12-25 13:12:55

导读 我想给大家解释一下谈角控制器通信的四种方式。相信朋友们也应该很关心这个话题。现在,让我们为我的朋友们谈谈四种谈论角度控制器通信的方

我想给大家解释一下谈角控制器通信的四种方式。相信朋友们也应该很关心这个话题。现在,让我们为我的朋友们谈谈四种谈论角度控制器通信的方法。边肖还收集了关于四种谈论角度控制器通信方式的相关信息。我希望你看到后会喜欢。

本文介绍了角度控制器通信的四种方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

[相关建议:《angular教程》]

首先,总结角度控制器通信的四种方式:

范围继承。

通过$scope广播事件。

事件发送器模块。

服务。

1.范围继承

Subscopes可以访问在其祖先作用域中声明的变量和函数。

分区控制器='控制器1 '

分区控制器='控制器2 '

这会打印出' 42 ' : { {答案}}

/div

/div

m.controller('Controller1 ',函数($ scope){ 0

$ scope.answer=42

});

m.controller('Controller2 ',函数($scope) {)

console . log($ scope . answer);

});2.通过$scope广播事件

$emit调用可以冒泡到作用域的顶部,$broadcast将传播到后代作用域,$on可以注册侦听器。

分区控制器='控制器1 '

分区控制器='控制器2 '

/div

/div

m.controller('Controller1 ',函数($ scope){ 0

$scope。$on('ping ',function(){ 0

console . log(' pong ');

});

$scope。$ broadcast(' broadcast ');

});

m.controller('Controller2 ',函数($scope) {)

$scope。$ emit(' ping ');

$scope。$on('broadcast ',function(){ 0

console.log('广播');

});

});3.事件发射器模块事件发射器

事件发射器模块像范围发射器一样工作,它们之间有三个主要区别:

事件发射器与范围无关,因此在无法访问范围的服务中使用它是理想的。

要使用的函数被命名。on(),发出()。

没有对应的$broadcast()函数。

脚本类型=' text/JavaScript ' src=' angular . js '/脚本

脚本类型=' text/JavaScript ' src=' event-emitter . js '/脚本

脚本类型=“文本/javascript”

var app=angular.module('app ',[]);

app.factory('userService ',函数($timeout,$ window){ 0

var emitter=$ window . emitter();

var用户={ };

//模拟http错误

$timeout(函数(){ 0

user.emit('错误','无法连接到服务器');

}, 1000);

返回用户;

});

app.factory('profileService ',function(UserServiCe){ 0

var ret={

用户:用户服务,

};

userService.on('错误',函数(){ 0

console . log(' get error ');

});

返回ret

});

/script4。最常用的沟通方式是服务。

因为服务是单例的,所以在任何组件中更改服务的值都会影响其他组件。用法非常简单,只需将服务列为依赖项,如上面的代码所示。

有关编程的更多信息,请访问:编程教学!以上是角度控制器通讯的四种方式的详细说明。请多关注php中文网站的其他相关文章!

来源:php中文网站

免责声明:本文由用户上传,如有侵权请联系删除!