前端之家收集整理的这篇文章主要介绍了
在angularjs指令中的ng-click属性,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
301_0@
我认为在开箱即用的指令上应该很容易使用众所周知的角度
属性。
例如,如果我的指令的名称是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/