如何使用jqlite以角度抓取元素的attr数据?
HTML,
<button ng-click="loadForm($event)" href="form.php">Load Directive Form</button>
<div data-my-form></div>
角,
app.directive('myForm', function() {
return {
controller:function($scope){
$scope.isLoaded = false;
$scope.loadForm = function(e){
console.log(e.target.attr('href')); // error
var form = e.target.attr('href'); // error
$scope.isLoaded = true;
}
},
template: '<div><div ng-if="isLoaded" ng-include="'+ form +'" ></div></div>',
link:function(scope, element) {
}
}
});
我收到此错误,
TypeError: e.target.attr is not a function
任何想法?
答案 0 :(得分:6)
attr()
是jqLite元素上可用的方法。
e.target
是对DOM元素的引用。
首先需要将DOM元素包装为jqLite元素:
var form = angular.element(e.target).attr('href');