我认为在开箱即用的指令上应该很容易使用众所周知的角度属性。
例如,如果我的指令的名称是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!'); }; }]);
编辑
原文地址:https://www.jb51.cc/angularjs/144465.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。