Angular JS - 如何重置/重新加载角度应用程序

时间:2017-03-31 06:05:46

标签: javascript angularjs

有谁知道如何完全重置/重新加载角度应用?

var dtApp = angular.module('App1', []);
dtApp.controller('Cont1', function($scope)
{
    $scope.sel1 = {
    '1':{title:'1X', val:'1'},
    '2':{title:'2X', val:'2'},
    '3':{title:'3X', val:'3'},
    '5':{title:'5X', val:'5'},
    }; 

    $scope.xyz='123';
    $scope.func_1();
});
.
.
.

<input type='text' ng-model='xyz' />
<select ng-options='v.title for v in sel1'></select>
<input type='text' value='{{sel1.val}}' />

由于

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方案。我们可以使用以下步骤作为示例

1)将默认值放在一个单独的函数中:

function controller_defaults($scope)
{
    $scope.xyz='123';
    $scope.func_1();
}

2)在控制器中设置复位功能:

dtApp.controller('Cont1', function($scope)
{
    $scope.resetx = function()
    {
        controller_defaults($scope);
        $scope.$apply();
    }
}

3)从角度代码外部调用复位功能,例如点击按钮:

angular.element(document.getElementById("cont_tag_id")).scope().resetx();
document.getElementById('form_id').reset(); //additional work to reset rest of the form