在按钮单击时从控制器调用相同的功能

时间:2016-03-04 23:03:15

标签: angularjs function

我想在index.html中保留保存按钮(所有页面都通用)。此按钮不是ng-view的一部分。 我在所有控制器中都有“保存”功能。 单击此按钮时,我想调用当前控制器的“保存”功能。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

ng-controller绑定到按钮的父元素。在控制器中,您将功能分配给范围,如$scope.myHandler = function() {};,然后在您放置ng-click指令的按钮上:ng-click=myHandler()这是

答案 1 :(得分:0)

您可以获得所需的任何控制器的范围。 例如:

<div id="myDiv" ng-app='MyModule' ng-controller="MyController">
</div>
<button onclick="ButtonClick()">
  My Button
</button>

//JavaScript 
angular.module('MyModule', [])
.controller('MyController', function ($scope) {
$scope.clickHandler = function (args) {
    alert(args);
};
});

function ButtonClick(evt){
  angular.element(document.getElementById('myDiv'))
 .scope().clickHandler('test');
}