AngularJS如何设置单选按钮默认检查以及运行该函数在页加载吗?

发布时间: 2017/4/16 20:43:03
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个modal窗口,在那里我有一个单选按钮与当前的代码选择的单选按钮,它会加载数据,我应如何设置默认值选中单选按钮和负载时 toggleChange() 在页面加载的方法吗?

main.html

<div class="col-md-5">
                <input type="radio"
                    name="optionsRadios" id="unrated" ng-value="'assign'" checked="checked"
                    ng-model="nonPersistentProcess.showCriteria" ng-init="toggleChange()">
                    <strong>Show all available controls that are not aligned to this risk</strong>
            </div>

main.js

  $scope.toggleChange = function() {
                if ($scope.nonPersistentProcess.showCriteria === 'disassign') {
                    $scope.controlRiskGridOption = riskToControlGridDataService.getControlsInProcess();
                    $scope.controlRiskGridOption.dataSource = riskToControlGridDataService.getControlsInProcessGridDataSource($stateParams.processId, $scope.nonPersistentProcess.riskKey);
                } else if ($scope.nonPersistentProcess.showCriteria === 'assign') {
                    $scope.controlRiskGridOption = riskToControlGridDataService.getAllControls($scope);
                    $scope.controlRiskGridOption.dataSource = riskToControlGridDataService.getAllControlsGridDataSource($stateParams.processId, $scope.nonPersistentProcess.riskKey);
                }
                $scope.selectedFlagControlInProcess = true;
                $scope.selectedTypeProcess = new Date().getTime();
                $scope.controlInPrcsSelected = {};
                $scope.controlInPrcsNoAlignSelected = {};
                $scope.controlInPrcsSelectedArray = {};
                $scope.controlInPrcsNoAlignSelectedArray = {};
            };

解决方法 1:

ng-init是最好的初始化数据的范围。

正如 @Jerry 所说,angular.element (文档) 有效的方法方法是最好的地方运行逻辑在页加载;为了避免与其他事件相冲突可能发生的事在页面上,您可以添加 $timeout 这种拖延到下一个摘要 toggleChange 的执行周期。它不是最优的但它应该让你去。

    angular.element(document).ready(function(){
        $timeout(function(){
            $scope.$root.toggleChange();
        },0)
    });
赞助商