gpt4 book ai didi

javascript - Angular 服务/值没有从 $(document).ready() 中获取新的 var

转载 作者:行者123 更新时间:2023-12-02 15:10:34 25 4
gpt4 key购买 nike

我有一个 Angular 服务/值正在尝试选取一个变量,但它选取的是原始变量而不是新变量。新变量应该是 $(document).ready() 中的变量,如下所示:

var app = angular.module("app", []);
var db = "asdf"
$(document).ready(function(){
// document.getElementById("DB_content").value === '[{"name":"Joe", "age":"19"}, {"name":"Jill", "age":"21"}]'
db = document.getElementById("DB_content").value;
console.log(db);
});
app.value("DBcontent", db);

但是 DBcontent 保存的不是字符串“array”,而是“asdf”。我怀疑这是因为 app.value("DBcontent", db) 正在立即执行,甚至在 $(document).ready() 之前执行。我尝试将 var db 放在 $(document).ready() 之外,但这会破坏它。有谁知道我在这里能做什么?

https://jsfiddle.net/dop49d54/4/

最佳答案

app.value(...)立即运行,在 $(document).ready(...) 之前

如果你想让它具有$(document).ready(...)中获取的值您需要将其移至该事件处理程序内。

$(document).ready(function(){
var app = angular.module("app", []);
// document.getElementById("DB_content").value === '[{"name":"Joe", "age":"19"}, {"name":"Jill", "age":"21"}]'
var db = document.getElementById("DB_content").value;
console.log(db);
app.value("DBcontent", db);
});
<小时/>

移动<script>标记到 <body> 的底部会起作用的!

<script>
var db = "asdf";
(function go(){
db = document.getElementById("DB_content").value;
console.log(db);
app.value("DBcontent", db);
})();
<script>

关于javascript - Angular 服务/值没有从 $(document).ready() 中获取新的 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34816832/

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