Javascript 为什么在指令中没有首先调用日志
我有这样的指令Javascript 为什么在指令中没有首先调用日志,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有这样的指令 angular.module('myDirective',[]) .directive('inputBox',function(){ return{ restrict:"E", controller:['$scope','$element',function($scope,$element){ $scope.printMessage = function(e){ // $scope.
angular.module('myDirective',[])
.directive('inputBox',function(){
return{
restrict:"E",
controller:['$scope','$element',function($scope,$element){
$scope.printMessage = function(e){
// $scope.inputval = 'Enter input here';
// callback(e);
console.log('this should be called 1st');
$scope.onButtonClicked({widgetEvent:e});
};
}],
scope:{
buttonName:"@",
printedMessage:"@",
onButtonClicked:"&"
},
template:'<input type="text" ng-model="inputval"><button ng-click="printMessage($event)">{{buttonName}}</button>'
};
})
为什么先调用我的警报,然后再调用我的控制台。登录printMessage,如何避免此情况。您在哪里调用showAlertMessage函数?@TyraICANGEL在另一个模块的控制器中它取决于浏览器刷新控制台的方式。您的指令代码看起来很好。我在那里找不到任何东西。您有任何plnkr/FIDLE用于此操作吗?
angular.module('myApp',['myDirective'])
.controller('myController',['$scope',function($scope){
$scope.showAlertMessage = function(e){
alert('this is a alert');
};
}]);