我在我的应用程序中使用了角度js和javascript。在这里,当我点击<a>
标记时,它会调用角度控制器中的方法,该方法有$window.open();
。每次我点击内容打开2个标签。这是什么原因?请帮帮我。
HTML
<li><a href="#" id="test_home" ng-click="test_home()">Test Click</a></li>
角度控制器
controllers.controller('LogoutCtrl', ['$scope', '$location','$cookieStore','$rootScope','$window',
function($scope, $location,$cookieStore,$rootScope ,$window) {
$scope.test_home = function () {
$window.open('www.yahoo.com');
};
}
]);
答案 0 :(得分:0)
尝试使用preventDefault:
$scope.test_home = function (e) {
e.preventDefault();
$window.open('www.yahoo.com');
};
或者,使用return false;
答案 1 :(得分:0)
与$window.open
没有任何共同之处,也许某些其他事件侦听器绑定到#test_home
,或者某些浏览器插件负责它。
jsfiddle的简短示例显示该方法只会打开一个窗口/标签。
angular.module('windowOpen', []).controller('open', function ($scope, $window) {
$scope.openMe = function () {
$window.open('http://google.com/');
};
});