Ng-如果仅在刷新页面时起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ng-如果仅在刷新页面时起作用相关的知识,希望对你有一定的参考价值。
我有一个ng-if的问题,我对angularjs很新。我想仅在某些视图上显示/隐藏搜索栏,但它仅在刷新页面后才有效。但是当视图发生变化时,它应该可行。
html:
<div id="searchbarTop" ng-controller="searchbarController">
<form class="col-md-12 py-1" ng-if="!showSearchbarTop">
<div class="input-group">
<input type="text" class="form-control typeahead" id="query"
placeholder="Search for folders or workflows..." data-
provide="typeahead" autocomplete="off" ng-wflist="workflowList" wf-search/>
</div>
</form>
</div>
控制器:
ProjectX.controller("searchbarController", function($scope,$http,$location) {
$scope.$root.showSearchbarTop = $location.path() === "/";
...
});
希望有人可以解释我,我犯了哪个错误。
答案
您正在使用showSearchbarTop
作为属性,该属性仅在页面加载开始时初始化。这就是为什么你需要将它作为一个函数使用。
请参阅以下代码
var ProjectX = angular.module('', []);
ProjectX.controller("searchbarController", function($scope, $http, $location) {
$scope.$root.showSearchbarTop = function() {
return $location.path() === "/";
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div id="searchbarTop" ng-controller="searchbarController">
<form class="col-md-12 py-1" ng-if="!showSearchbarTop()">
<div class="input-group">
<input type="text" class="form-control typeahead" id="query" placeholder="Search for folders or workflows..." data- provide="typeahead" autocomplete="off" ng-wflist="workflowList" wf-search/>
</div>
</form>
</div>
以上是关于Ng-如果仅在刷新页面时起作用的主要内容,如果未能解决你的问题,请参考以下文章