gpt4 book ai didi

javascript - 如何在 AngularJS 中的 $timeout 完成之前显示缓存的数据?

转载 作者:行者123 更新时间:2023-12-03 08:05:40 30 4
gpt4 key购买 nike

我有一个关于 Angular 缓存的问题。我有以下 html 代码:

    <!DOCTYPE html>
<html ng-app="myApp">
<head>
<script src="angular.js"></script>
<script src="myApp.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body ng-controller="MainCtrl">

<div ng-repeat="item in studentList">
<name-italic targettext="item">
</name-italic>
</div>

</body>
</html>

和以下 javascript 文件 myApp.js

var myApp= angular.module('myApp', []);

var mainController = myApp.controller('MainCtrl', function($scope, $timeout) {
$timeout(function(){
$scope.studentList = ["sandeep","surabhi","sangeeta","sumant","bapi","ttt","yyy"];
}, 2000);

});


myApp.run([ '$http', '$templateCache',
function($http, $templateCache) {
$templateCache.put('NAMEITALICTEMPLATE', "<i>{{myText}}</i>");
}]);

myApp.directive("nameItalic",
['$templateCache',
function ($templateCache) {
return {
restrict:'E',
replace:false,
scope:{
myText:'=targettext'
},
template: $templateCache.get('NAMEITALICTEMPLATE')
};
}]);

问题是为什么 Angular 在 $timeout 完成之前不显示兑现的数据?

最佳答案

在超时之前,不存在诸如 $scope.studentList 这样的属性,因此 ng-repeat 没有任何可迭代的内容。

意思是,指令未运行且模板未获取。

关于javascript - 如何在 AngularJS 中的 $timeout 完成之前显示缓存的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34395001/

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