簡體   English   中英

Angular-在頁面加載時觸發$ http.get

[英]Angular - Fire $http.get on page load

我的主頁正在加載,然后在頁面已加載后觸發我的$ http.get()請求。

如何獲得頁面加載之前首先觸發的請求,以便可以在頁面上使用返回的數據?

路由:

var leisureApp = angular.module('leisureApp', ["ngRoute"]);

leisureApp.config(["$routeProvider", "$locationProvider",
    function ($routeProvider, $locationProvider) {
        $routeProvider

            .when("/home", {
                templateUrl: "Scripts/HTML/Home.html",
                controller: "HomeController"
            })
            .when("/login", {
                templateUrl: "Scripts/HTML/Login.html",
                controller: "LoginController"
            })
            .when("/time", {
                templateUrl: "Scripts/HTML/Time.html"
            })
            .otherwise({
                redirectTo: "/home"
            });
        $locationProvider.html5Mode({
            enabled: true,
            requireBase: false
        });
    }]);

家庭控制器:

angular.module('leisureApp')

    .controller('HomeController', ['$scope', 'ADAuth', function ($scope, ADAuth) {

        $scope.ADAuth = ADAuth;

    }])


    .factory('ADAuth', function ($http) {
        return $http.get('Home/GetUser');
    })

MVC控制器方法:

public JsonResult GetUser()
{
    var user = new LeisureUser();
    user.ActiveDirectoryName = HttpContext.User.Identity.Name;
    return new JsonResult { Data = user, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}

干杯。

您正在尋找解決方案 它使您可以根據函數值或Promise進行路由,然后將其注入到控制器中,並將在控制器實例化時使用。

$routeProvider
    .when("/news", {
        templateUrl: "newsView.html",
        controller: "newsController",
        resolve: {
            message: function(messageService){
                return messageService.getMessage();
            }
        }
    });

app.controller("newsController", function (message) {
    $scope.message = message;
});

請注意,解析對象message的屬性名稱與注入到控制器中的值匹配。 如果您將數組語法用於最小安全代碼,則將如下所示:

app.controller("newsController", ['message', function (message) {
    $scope.message = message;
}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM