我有两个控制器,我想在用户点击按钮时用参数调用其他父控制器功能。
HTML
<a ng-click='test('something')'>Click</a>
控制器
controller: function($scope) {
..........
$scope.test= $scope.$parent.parentTest(t);// it fails...
..........}
家长控制器
$scope.parentTest= function(m) {
var my=m;
...Something...
}
如果我在没有任何参数的情况下运行函数,它就可以了。如果我用参数运行该函数则不会。
我想用参数调用父函数。
答案 0 :(得分:3)
代码中的错误在于这一行:
//This assigns the RESULT of parentTest() to $scope.test
$scope.test= $scope.$parent.parentTest(t);
//以下两个选项中的任何一个都可能适合您。
//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!
答案 1 :(得分:0)