[英]Angular ng-init pass element to scope
有沒有辦法獲取我的ng-init當前綁定的當前元素?
例如:
<div ng-init="doSomething($element)"></div>
我相信有一種方法可以實現ng-click,但是我無法使用ng-init這樣做:
<div ng-click="doSomething($event)"></div>
控制器:
$scope.doSomething = function(e){
var element = angular.element(e.srcElement);
}
我如何使用ng-init執行此操作?
你的HTML:
<div ng-app='app' ng-controller="Ctrl">
<div my-dir></div>
</div>
你的Javascript:
var app = angular.module('app', [], function () {});
app.controller('Ctrl', function ($scope) {
$scope.doSomething = function (e) {
alert(e);
};
});
app.directive('myDir', function () {
return function (scope, element, attrs) {
scope.doSomething(element);
};
});
從上面看, element
將是你的DOM對象。
不要這樣做。
正如@CodeHater所說,在指令中處理DOM操作是比使用元素控制器更好的解決方案。
我也在尋找類似的東西,但最后我創建了一個添加到子div元素的指令。 在指令代碼塊中,我得到了元素對象,並將所有與事件相關的函數和其他指令放在那里。 另外,我將元素添加到$ scope對象,這有助於我在其他地方使用此對象,並且無需在每次需要時都找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.