我想在加載指令時運行一些函數,然後能夠用ng-click
再次「重新運行」它。我的代碼如下:ng-click上的控制器的角度 - 運行函數
const app = angular.module('app', []);
class dummyController {
logIt() {
console.log('logging');
}
}
app.directive('dummyDir',() => {
return {
controller: dummyController,
link(scope, element, attrs, ctrl) {
scope.logIt = ctrl.logIt();
scope.logIt;
}
};
});
HTML
<div ng-app="app">
<button class="reinit" type="submit" dummy-dir ng-click="logIt()">Reinit</button>
</div>
不幸的是,點擊按鈕什麼都不做。我做錯了什麼?
如果從控制器中調用分對數(),你不需要從鏈接調用它。這樣做會調用log()兩次。原因是控制器在鏈接之前得到實例化,並且在調用控制器時也運行任何logit()。因此,從控制器調用logit(),創建一個不同的函數,它將從ng-click運行logit()invokation – Gary