gpt4 book ai didi

javascript - 在 Angular Js 中使用 $rootScope 初始化输入文本字段值

转载 作者:行者123 更新时间:2023-11-27 23:53:36 25 4
gpt4 key购买 nike

我使用以下代码定义了 $rootScope 变量:

$rootScope.userDetails = function () {
$http.post($account + '/feedbackdiv')
.success(function (res) {
$rootScope.userData = res.userData;
});
};
$rootScope.userDetails();

现在,用户数据可以从任何地方访问。现在我尝试将 userData.FirstName 值分配给文本字段,如下所示:

<input type="text" class="form-control museo_sans300" id="fName" 
placeholder="First Name" name="fName" minlength="1" ng-model="fName"
ng-init="fName = userData.FirstName" required="required">

但这在文本字段中没有初始值。我还检查了当我为 ng-init 提供静态值时它可以正常工作,例如 ng-init ="fName = 'test'" 此外,我还验证了我正在获取 的值userData.FirstName。请提供初始化此输入文本字段的解决方案。

最佳答案

在初始赋值fName = userData.FirstName之后,fNameuserData.FirstName之间没有引用。此外,ngInit 不会在每个摘要循环中再次运行。因此,当稍后填充 userData.FirstName 时,原语 fName 将不会更新。这是预期的 javacript 行为,与 Angular 无关。

因此,您可以直接使用 userData.FirstName 作为模型:

<input type="text" class="form-control museo_sans300" 
id="fName" placeholder="First Name" name="fName" minlength="1"
ng-model="userData.FirstName"
required="required">

或者,一旦加载 userData,您将需要在 Controller 中手动设置 fName

关于javascript - 在 Angular Js 中使用 $rootScope 初始化输入文本字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32472445/

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