相关疑难解决方法(0)

AngularJS从指令中获取$ event

看起来很简单,但我不能从我的指令中获得$ event.当test被调用时cb-click,$event是未定义的,但在指令之外(通过html),它是事件对象.

如果我使用链接功能(不包括在我的小提琴中),我可以得到$event,但我不能$ parse/$ eval它在正确的范围内.

http://jsfiddle.net/langdonx/KgcGY/

<div ng-app="app" ng-controller="x">
    <!-- via directive -->
    <checkbox cb-model="y" cb-click="test($event, b)"></checkbox>
    <!-- via html -->
    <div><input id="c2" type="checkbox" ng-model="x" ng-click="test($event, 'a')"> <label for="c2">{{x}}</label></div> 
</div>
Run Code Online (Sandbox Code Playgroud)

-

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

app.directive('checkbox', function ($parse) {
    return {
        restrict: 'E',
        replace: true,
        scope: {
            cbModel: '=',
            cbClick: '&'
        },
        template: '<div><input id="c1" type="checkbox" ng-model="cbModel" ng-click="cbClick($event, \'a\')"> <label for="c1">{{cbModel}}</label></div>'
    };
});

app.controller('x', function x($scope) {
    $scope.x = true;
    $scope.y …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

angularjs ×1

angularjs-directive ×1