函数在angularJs中调用两次

Nim*_*tri 3 javascript jquery angularjs

我有一个关于plunkr的演示,我遇到问题而点击功能在ng-click事件函数调用两次通过检入控制台: -

<a class="btn btn-default finish" style="display:none" ng-click="result()">Finish</a>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码: -

var app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider, $locationProvider) {
    $routeProvider.when('/', {
        templateUrl: 'MainView.html',
        controller: 'MainCtrl'
    }).when('/view', {
        templateUrl: 'view2.html',
        controller: 'MainCtrl'
    });
});
app.controller('MainCtrl', function($scope, $location) {
    $scope.name = 'World';
    $scope.correctAnswer = [];

    $scope.result = function() {
        $scope.correctAnswer.push({
            "label1": "value1"
        }, {
            "label2": "value2"
        }, {
            "label3": "value3"
        });
        console.log($scope.correctAnswer);
        $location.path("/view");
    }
});
Run Code Online (Sandbox Code Playgroud)

Plunker

mic*_*lem 5

哦,这很简单,你正在打电话,$location.path("/view");并且view2.html有一个ng-init相同的result()功能:

<div class="tab-pane fade" id="profile" ng-init="result()">
Run Code Online (Sandbox Code Playgroud)

这是更新后的Plunker,有一个可能的(快速)解决方案.