12

Не могли бы вы рассказать мне, почему предупреждения отображаются два раза при нажатии кнопки?Почему предупреждение отображается два раза при нажатии кнопки?

вот мой plunker 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

Это странно. Кажется, что вы запускаете ng-click и на mousedown и mouseup - если вы нажмете на кнопку, удерживая мышь, сдвиньте мышь от кнопки, а затем отпустите клик, она запускает только один нг-клик. – Fissio

+0

Итак, что такое работа вокруг. Есть ли какая-то возможность, что я использую Ionic с требованием js, может быть, поэтому он работает так, как это – user944513

+0

мы можем использовать requirejs с ионным каркасом – user944513

ответ

1

Если вы используете более новую версию ионического это работает: 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' 
] 

});

0

Устранено исправлено, что вы использовали устаревшую минитипированную версию ионной и requirejs без ограничений.

Просто измените ионную версию на - http://code.ionicframework.com/1.0.0/js/ionic.bundle.js

и requireJs к RequireJS 2.1.17

это работает отлично ... изменение версии в вашей скрипке

0

Цикл дайджеста работает на минимум два раза угловыми. Таким образом, вероятно, причина для предупреждения появляется два раза - цикл дайджеста.

Но другие сказали изменить версию, и вы получите предупреждение только один раз. Но если вы не хотите, чтобы изменить версию, есть обходной путь к этому:

$scope.login = function() { 
    alert("Login is clicked"); 
    $scope.login = function(){ 
    return false; 
    } 
}; 

working demo

Этот метод позволяет вызывать функцию только один раз. Это может быть полезно для тех, кто хочет прекратить цикл переваривания.

Смежные вопросы