有没有办法从我调用select命令中选择属于指令的DOM元素?
例如 - 我有两条指令。他们中的一个人在<input>
指令中得到view.html
。
view1.html
<input></input>
view2.html
<div>other input<div>
<input></input>
我在指令中声明了控制器,我用它来处理东西。
首先(从view1指令调用)
$scope.selectView1Input = function(){
var input = angular.element('input');
}
秒(从view2指令调用)
$scope.selectView2Input = function(){
var input = angular.element('input');
}
但是在bouth情况下它选择相同的输入字段(我预期他的行为,因为它看起来只是dom选择器,所以)
我不想使用id
。只是简单的标签,那么,有没有办法做到这一点?
答案 0 :(得分:2)
您可以使用jQuery或内置jqLite来选择元素:
app.directive('myDirective', function() {
return {
restrict: 'A',
link: function(scope, element, attr) {
var input = element.find('input');
…
}
};
});
答案 1 :(得分:0)
您可以在从指令调用函数时使用$event
。
使用$ event作为参数调用函数。
ng-click="selectView1Input($event)"
(如果您在点击时调用该功能)。
您的功能将如下所示:
首先(从view1指令调用)
$scope.selectView1Input = function(event){
var input = $(event.target);
}
秒(从view2指令调用)
$scope.selectView2Input = function(event){
var input = $(event.target);
}