Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – 一个控制器可以调用另一个?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有可能有一个控制器使用另一个

例如:

这个HTML文档只是在messageCtrl.js文件中打印由messageCtrl控制器发送的消息。

<html xmlns:ng="http://angularjs.org/">
<head>
    <Meta charset="utf-8" />
    <title>Inter Controller Communication</title>
</head>
<body>
    <div ng:controller="messageCtrl">
        <p>{{messagE}}</p>
    </div>

    <!-- Angular Scripts -->
    <script src="http://code.angularjs.org/angular-0.9.19.js" ng:autobind></script>
    <script src="js/messageCtrl.js" type="text/javascript"></script>
</body>
</html>

控制器文件包含以下代码

function messageCtrl()
{
    this.message = function() { 
        return "The current date is: " + new Date().toString(); 
    };
}

它只打印当前日期;

如果我要添加一个控制器,DateCtrl将特定格式的日期交给messageCtrl,那么如何做呢? DI框架似乎关心Xmlhttprequests和访问服务。

有多种方式如何在控制器之间通信。

最好的一个可能是共享服务:

function FirstController(someDataservicE) 
{
  // use the data service,bind to template...
  // or call methods on someDataservice to send a request to server
}

function SecondController(someDataservicE) 
{
  // has a reference to the same instance of the service
  // so if the service updates state for example,this controller kNows about it
}

另一种方式是在范围上发出事件:

function FirstController($scopE) 
{
  $scope.$on('someEvent',function(event,args) {});
  // another controller or even directive
}

function SecondController($scopE) 
{
  $scope.$emit('someEvent',args);
}

在这两种情况下,您都可以与任何指令进行通信。

大佬总结

以上是大佬教程为你收集整理的angularjs – 一个控制器可以调用另一个?全部内容,希望文章能够帮你解决angularjs – 一个控制器可以调用另一个?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。