您能否告诉我为什么警告会在按钮点击时显示两次?
这是我的傻瓜 http://plnkr.co/edit/vtmYAG2d1gmnPjnxovJw?p=preview/*global define, console */
define(['app'], function(app){
'use strict';
app.controller('LoginCtrl', ['$scope', function($scope) {
$scope.login = function () {
alert("Login is clicked")
};
}]);
});
答案 0 :(得分:1)
如果您使用较新版本的Ionic,它可以: http://plnkr.co/edit/K2BLrUyOEeoDxHc9LyTl?p=preview
我使用了http://code.ionicframework.com/1.0.0/js/ionic.bundle.min.js
您的示例使用 http://code.ionicframework.com/1.0.0-beta.1/js/ionic.bundle.min.js
requirejs.config({
paths: {
ionic:'http://code.ionicframework.com/1.0.0/js/ionic.bundle.min',
},
shim: {
ionic : {exports : 'ionic'}
}, priority: [
'ionic'
],
deps: [
'bootstrap'
]
});
答案 1 :(得分:0)
问题已解决,您已使用过时的缩小版离子和requirejs非缩小版。
只需将您的离子版本更改为 - http://code.ionicframework.com/1.0.0/js/ionic.bundle.js
和requireJs RequireJS 2.1.17
它工作得很好......改变你小提琴中的版本
答案 2 :(得分:0)
摘要周期至少由angularjs运行两次。因此,警报出现两次的原因可能就是消化周期。
但是其他人说要更改版本,你只能拨打一次警报。但是,如果您不想更改版本,则需要解决此问题:
$scope.login = function () {
alert("Login is clicked");
$scope.login = function(){
return false;
}
};
此方法仅允许您调用一次函数。对于那些想要停止消化循环的人来说,这可能会有所帮助。