gpt4 book ai didi

angularjs - 如何在不重新加载页面的情况下重新启动 angular 应用程序?

转载 作者:行者123 更新时间:2023-12-03 23:49:06 28 4
gpt4 key购买 nike

我想在不强制刷新页面的情况下重置我的 angular 应用程序的状态。这样做的惯用方法是什么?

最佳答案

我不知道是否有惯用的方法,但是如果您使用手动 bootstrap (即摆脱 ng-app),那么重置您可以

  • 删除您将 angular 引导到
  • 中的元素
  • 将其替换为元素的干净副本
  • 再次运行 bootstrap

  • 示例 HTML:
    <div id="myid" ng-controller="MyCtrl">
    <button ng-click="i = i+1">Add 1</button>
    <span>i = {{i}}</span>
    <button ng-click="reset()">RESET</button>
    </div>

    示例 Controller /JS(也包括 jQuery),将在 onload 上运行:
    var $cleanCopy = $("#myid").clone();

    function bootstrap() {
    angular.bootstrap(document.getElementById('myid'), ['mymodule']);
    }

    angular.module('mymodule', []).controller('MyCtrl', function($scope) {
    $scope.i = 1;

    $scope.reset = function() {
    // You need this second clone or angular bootstraps
    // into the original clone!
    $("#myid").replaceWith($cleanCopy.clone());
    bootstrap();
    };
    });

    bootstrap();

    这是一个有效的 JSFiddle: http://jsfiddle.net/zd377/2/

    关于angularjs - 如何在不重新加载页面的情况下重新启动 angular 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23973744/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com