gpt4 book ai didi

angularjs - 等待设置ng-init值的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-03 13:52:09 24 4
gpt4 key购买 nike

我的HTML中有一个“ ng-init ”指令,用于初始化Angular.js数据模型中“ data.id ”的值。现在让我们说我无法更改其工作方式。

现在,我想在页面加载后立即发出HTTP请求,其中URL将取决于此data.id值。到目前为止,以下方法似乎可行:

app.controller('MainCtrl', function ($scope, $http, $timeout) {
"use strict";

$scope.data = {};

$timeout(function () {
$http.get("/api/Something?id=" + $scope.data.id);
}, 0);
});

但是,使用超时为零的计时器似乎很麻烦。 (如果我省略$ timeout代码,而直接直接调用$ http.get,那么$ scope.data.id当然是未定义的)。

有没有更好的方法可以等到ng-init执行后才发出$ http请求?上面的基于超时的代码是否可以在所有情况下/在所有浏览器上正常工作吗?

最佳答案

您可以尝试使用 watch

$scope.$watch('data.id',function(newValue,oldValue) {
if(newValue) {
$http.get("/api/Something?id=" + $scope.data.id);
}
});

关于angularjs - 等待设置ng-init值的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18628511/

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