最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - AngularJs call parent controller function with parameter - Stack Overflow

programmeradmin1浏览0评论

I have two controller's and I want to call other parent controller function with parameter when user clicks the button.

Html

<a ng-click='test('something')'>Click</a>

Controller

controller: function($scope) {
        ..........
   $scope.test= $scope.$parent.parentTest(t);// it fails...

..........}

Parent Controller

$scope.parentTest= function(m) {

   var my=m;

   ...Something...

}

If I run function without any parameter, it works. If I run the function with parameter it doesn't.

I want to call parent function with parameter.

I have two controller's and I want to call other parent controller function with parameter when user clicks the button.

Html

<a ng-click='test('something')'>Click</a>

Controller

controller: function($scope) {
        ..........
   $scope.test= $scope.$parent.parentTest(t);// it fails...

..........}

Parent Controller

$scope.parentTest= function(m) {

   var my=m;

   ...Something...

}

If I run function without any parameter, it works. If I run the function with parameter it doesn't.

I want to call parent function with parameter.

Share Improve this question edited Apr 20, 2015 at 6:22 Suhaib Janjua 3,57216 gold badges69 silver badges87 bronze badges asked Apr 16, 2015 at 7:42 user4773604user4773604 4513 gold badges9 silver badges16 bronze badges 1
  • Formatting and grammar. – Linda Lawton - DaImTo Commented Apr 16, 2015 at 7:56
Add a ment  | 

2 Answers 2

Reset to default 4

The mistake in your code is with this line:

//This assigns the RESULT of parentTest() to $scope.test
$scope.test= $scope.$parent.parentTest(t);

// Either of the 2 options below will probably work for you.

//This assigns the parentTest Function itself to $scope.test
$scope.test= $scope.$parent.parentTest;

//This wraps it safely in case the parentTest function isn't ready when
// this controller initializes
$scope.test= function(t){$scope.$parent.parentTest(t)}; // << Change it to this!

Check this plunkr, maybe this can help you

plunkr

access parentfunction in child controller

发布评论

评论列表(0)

  1. 暂无评论