我是AngularJS的新手。 在这里,我想在从一个控制器切换到另一个控制器时显示一些html。 这是我的HomeController
function HomeController($scope) {
alert("hi");
$scope.myValue = true;
}
这是我的MainController。 最初在我的MainController中它是假的。
function MainController($scope,$location) {
$scope.myValue = false;
}
这是我的身体。
<body ng-controller="MainController as main">
<div id="sradha" ng-show="myValue" >Show-side-bar</div>
<div ui-view></div>
<!--<script src="js/angular.min.js"></script>-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-sanitize.js"></script>
<script src="../js/ui-router/angular-ui-router.min.js"></script>
<script src="../js/all.js"></script>
</body>
我的问题是显示侧栏在我刷新时显示2到3秒,然后它隐藏。我已经在控制台中检查过。它隐藏在HTML.Here中当我从登录响应($ window.location.href ='http://localhost/Angular-js-admin/admin/#/home';)重定向到我项目的主页时,我想显示此 show-side-bar
我附上了一些屏幕短裤,请看看。
https://i.stack.imgur.com/BWnlz.png
https://i.stack.imgur.com/JKzsh.png
谢谢。
答案 0 :(得分:1)
当您使用controller as
语法时。所以,我们像往常一样声明控制器函数,只使用this
对象而不是$scope
。
app.controller('MainController', function () {
this.myValue = true;
});
这更像是基于类的设置,当在DOM
中实例化Controller时,我们可以实例化variable
:
要反映基于this.myValue
的{{1}}支票,我们需要这样做:
DOM
答案 1 :(得分:0)
我们可以使用ngStorage
通过在控制器中使用$localStorage
来保持页面重新加载范围变量。
$scope.var1 = $localStorage.var1;
$scope.var2 = $localStorage.var2;
$scope.var3 = $localStorage.var3;
并在您的函数中更新$localStorage
变量与$scope
变量(分配)新值相同。
它可以帮我在页面重新加载后使用ng-show(取决于$ scope变量)显示div元素。
示例:在页面重新加载后打开聊天收件箱而不重新打开它。
我们可以在github page上找到更多信息。