在angularjs指令中的ng-click属性

我认为在开箱即用的指令上应该很容易使用众所周知的角度属性

例如,如果我的指令的名称是myDirective,我想以这种方式使用它:

<div ng-controller="myController">
   <my-directive ng-click="doSomething()"><my-directive>
</div>

而不需要像下面的示例中那样定义自定义点击属性(onClick)

<div ng-controller="myController">
   <my-directive on-click="doSomething()"><my-directive>
</div>

看起来ng-click可以工作,但是您需要在指令标签上指定ng-controller,我也不需要。我想在周围的div上定义控制器

是否可以使用ng单击与父级HTML元素上定义的控件的指令?

这里是更新的代码。也许这是你正在寻找的。

HTML:

<div data-ng-app="myApp">
    <div data-ng-controller="MyController">
        <my-directive data-ng-click="myFirstFunction('Hallo')"></my-directive>
        <my-directive data-ng-click="mySecondFunction('Hi')"></my-directive>
    </div>
</div>

角度:

var app = angular.module('myApp',[]);

app.directive('myDirective',function(){
    return {
        restrict: 'EA',replace: true,scope: {
            eventHandler: '&ngClick'
        },template: '<div id="holder"><button data-ng-click="eventHandler()">Call own function</button></div>'
    };
});

app.controller('MyController',['$scope',function($scope) {
    $scope.myFirstFunction = function(msg) {
         alert(msg + '!!! first function call!');   
    };
    $scope.mySecondFunction = function(msg) {
         alert(msg + '!!! second function call!');   
    };
}]);

编辑

检查我在jsfiddler中所做的解决方案是你在寻找什么?

http://jsfiddle.net/migontech/3QRDt/1/

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...