8
看起來很簡單,但我無法從我的指令中獲取$ 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>
-
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 = true;
$scope.test = function (ev, b) {
console.log('test called, ev is', ev, 'b is', b);
return 'xyz';
}
});
HERP指定的金額值,我應該閱讀文檔更多。謝謝! – Langdon
@Langdon,雖然在文檔中的工作示例會更有幫助。很多人想念這個。 (我前幾次讀它時肯定沒有得到它。)我包含了文檔參考,以便人們可以在文檔中看到它(簡要地)提到的位置。 –
你的意思是它在文檔中* *的位置!幾周前看到它,但它現在消失了。 SO萬歲。 –