angularjs – Angular ui.router,从子控制器调用父控制器函数?
发布时间:2020-12-17 09:16:07 所属栏目:安全 来源:网络整理
导读:我使用Angular与ui.router并设置了嵌套视图.父视图有一个div,其可见性可以通过父控制器上的函数切换.我想从嵌套视图的子控制器调用此函数.我该怎么做? http://plnkr.co/edit/zw5WJVhr7OKqACoJhDZw?p=preview JS // Code goes hereangular.module("myApp",[]
我使用Angular与ui.router并设置了嵌套视图.父视图有一个div,其可见性可以通过父控制器上的函数切换.我想从嵌套视图的子控制器调用此函数.我该怎么做?
http://plnkr.co/edit/zw5WJVhr7OKqACoJhDZw?p=preview
JS // Code goes here angular.module("myApp",[]).controller("parent",function($scope){ $scope.parentFunction = function(){ alert("Called a function on the parent") } }).controller("child",function($scope){ $scope.childFunction = function(){ alert("Called a function on the child") } $scope.parentFromChild = function(){ alert("I know this feels weird"); $scope.parentFunction(); } }) HTML <!DOCTYPE html> <html> <head> <script data-require="angular.js@*" data-semver="1.2.14" src="http://code.angularjs.org/1.2.14/angular.js"></script> <link rel="stylesheet" href="style.css" /> <script src="script.js"></script> </head> <body ng-app="myApp"> <div ng-controller="parent"> <div ng-controller="child"> <a href="#" ng-click="parentFunction()">Call Parent</a> <a href="#" ng-click="childFunction()">Call Child</a> <a href="#" ng-click="parentFromChild()">Call Parent from Child</a> </div> </div> </body> </html> 控制器上的范围是原型继承的,我相信这意味着如果您不重新定义范围上的函数,从父范围获得相同的函数(如果您调用它)(问题是这样做就假定使用的上下文的控制器,虽然这是有争议的,如果这真的是一个问题,假设你不依赖于该控制器中的某些效果). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |