我正在进行角度应用。我有一个控制器和一个视图。我想在有和没有搜索字段的情况下使用相同的视图。这意味着如果用户需要查看已填充数据的搜索视图或常规视图,那么我想使用相同的控制器和视图执行此操作。我的想法是,我可以从app.js传递一个额外的参数,以便在控制器中决定是否需要显示搜索字段。这可能吗?
答案 0 :(得分:1)
我发现解决方案将params属性设置为对象:
在app.js中:
.state('inventorySearchReport', {
url: "/inventoryReport",
templateUrl: "templates/reports/inventoryReport.html",
controller: "inventoryReportCtrl",
cache: false,
params: {
search: { value: true }
}
})
.state('inventoryReport', {
url: "/inventoryReport",
templateUrl: "templates/reports/inventoryReport.html",
controller: "inventoryReportCtrl",
cache: false,
params: {
search: { value: false }
}
})
在你的控制器中注入$ state并使用as:
$scope.enableSearch = $state.params.search
答案 1 :(得分:0)
您可以使用 ng-if Angular documentation for ng-if
首先初始化变量说
控制器中的 $scope.test= false;
假设您希望在通过$ http填充数据时显示搜索字段,然后更改
{
$scope.test = true;
$http({..})
}
并在您的视图中
<input type="text" name="search" ng-if="test==true"/> // will display the search when data is populated