Javascript 为什么在页面加载时ng被检查两次
我有下面的代码,当页面加载时,ng checked似乎两次触发我的简单警报方法Javascript 为什么在页面加载时ng被检查两次,javascript,angularjs,Javascript,Angularjs,我有下面的代码,当页面加载时,ng checked似乎两次触发我的简单警报方法 (函数(){ "严格使用",; angular.module('app',['common.ajax']); angular.module('common.ajax',[]); 有棱角的 .module('应用程序') .controller(“loginCtrl”,controller); 控制器。$inject=['$scope','ajaxFactory']; 功能控制器($scope,ajaxFactory
(函数(){
"严格使用",;
angular.module('app',['common.ajax']);
angular.module('common.ajax',[]);
有棱角的
.module('应用程序')
.controller(“loginCtrl”,controller);
控制器。$inject=['$scope','ajaxFactory'];
功能控制器($scope,ajaxFactory){
$scope.alertme=激活;
函数激活(){
ajaxFactory.getData();
}
}
有棱角的
.module('common.ajax')
.工厂(“ajaxFactory”,工厂);
工厂。$inject=['$http'];
函数工厂($http){
var服务={
getData:getData
};
回程服务;
函数getData(){
警报(“点击我”);
}
}
})();代码>
我认为您需要使用ng单击未选中ng
查看文档:
ngChecked是一个布尔参数,而不是一个函数
如果ngChecked中的表达式为truthy,则在元素上设置checked属性
我认为您需要使用ng click而不是ng checked
查看文档:
ngChecked是一个布尔参数,而不是一个函数
如果ngChecked中的表达式为truthy,则在元素上设置checked属性
ngChecked可以将函数作为参数,只要函数返回truthy或falsy值,如下所示:
const isGreaterThanOne = x => x > 1;
<body ng-app="app" ng-controller="loginCtrl">
<input type="checkbox" ng-checked="isGreaterThanOne(2)" ng-model="tester" />
</body>
const大于one=x=>x>1;
ngChecked可以将函数作为参数,只要函数返回如下所示的truthy或falsy值:
const isGreaterThanOne = x => x > 1;
<body ng-app="app" ng-controller="loginCtrl">
<input type="checkbox" ng-checked="isGreaterThanOne(2)" ng-model="tester" />
</body>
const大于one=x=>x>1;
它触发了两次,因为摘要循环将至少运行两次。由于下面的答案ng change
或ng click
就是您要寻找的答案。但我更喜欢更改处理程序。它会触发两次,因为摘要循环至少会运行两次。由于下面的答案ng change
或ng click
就是您要寻找的答案。但我更喜欢变更处理程序。