Angular Technorati的成员。我带着一个令人费解的问题来找你,虽然很简单。我需要在大约11秒后切换出一个div层并显示另一个div层。如何使用angularjs超时服务完成,最好是在控制器内?
好的,如果我将show and hide事件与$ timeou服务结合起来怎么办?
` <body ng-app="myApp">
<div ng-controller="showHideController" ng-init="getPanel_1()">
<div ng-controller="showHideController" ng-show="divA"style=''>
</div>
<div ng-controller="showHideController" ng-show="divB" style=''>
</div>
<script>
angular.module('myApp',[]).controller('showHideController',function($scope, $timeout) {
$scope.getPanel_1 = function(){
$scope.divA = true;
$scope.divB = false;
$scope.divC = false;
}
$timeout(function (){
$scope.getPanel_1 = function(){
$scope.divA = false;
$scope.divB = true;
$scope.divC = false;
}
}, 5000);
});
</script>`
提前致谢, Batoe。
“成功之路充满了障碍......但也取得了成功!” 未知的乐观主义者。答案 0 :(得分:0)
不是很有棱角的方式,但你可以:
<div ng-controller="myCtrl">
<div ng-include src="currentDiv">
</div>
</div>
<script type="text/ng-template" id="div1.html">
<div ng-controller="panel_1">
</div>
</script>
<script type="text/ng-template" id="div2.html">
<div ng-controller="panel_2">
</div>
</script>
并在您的控制器中:
app.controller('myCtrl', function($scope, $timeout) {
$scope.currentDiv= "div1.html" ;
$timeout(function () {
$scope.currentDiv= "div2.html" ;
}, 15000);
});