Javascript 带ng route的局部视图与ng show/ng hide我应该使用哪一个?
我的应用程序中有四到五个选项卡视图。因此,单击每个选项卡,我将根据选项卡选择显示内容 我尝试了两种方法,一种是Javascript 带ng route的局部视图与ng show/ng hide我应该使用哪一个?,javascript,php,angularjs,Javascript,Php,Angularjs,我的应用程序中有四到五个选项卡视图。因此,单击每个选项卡,我将根据选项卡选择显示内容 我尝试了两种方法,一种是ng route,另一种是ng show/ng hide。我觉得ng show/ng hide在性能水平上很好,我想我也应该这样做。这是我试过的 第一次进近ng路线 main.php var testApp=angular.module(“testApp”,“ngRoute”); testApp.config(函数($routeProvider){ $routeProvider.when
ng route
,另一种是ng show/ng hide
。我觉得ng show/ng hide
在性能水平上很好,我想我也应该这样做。这是我试过的
第一次进近ng路线
main.php
var testApp=angular.module(“testApp”,“ngRoute”);
testApp.config(函数($routeProvider){
$routeProvider.when(“/tab1”{
templateUrl:“tab1.php”
});
$routeProvider.when(“/tab2”{
templateUrl:“tab2.php”
});
$routeProvider.when(“/tab3”{
templateUrl:“tab3.php”
});
$routeProvider.when(“/tab4”{
templateUrl:“tab4.php”
});
$routeProvider.others({
templateUrl:“tab1.php”
});
});
testApp.controller('testContr',函数($scope){
//控制器语句在这里
});
tab1.php
<div>
tab1 content goes here
</div>
<div ng-show="view == 'tab1'">
tab1 content goes here
</div>
表1的内容在这里
tab2.php
<div ng-show="view == 'tab2'">
tab2 content goes here
</div>
tab2内容在这里
tab3.php
<div ng-show="view == 'tab3'">
tab3 content goes here
</div>
表3的内容在这里
tab4.php
<div ng-show="view == 'tab4'">
tab4 content goes here
</div>
表4的内容在这里
第二种方法显示/隐藏
main.php
var testApp=angular.module(“testApp”,[]);
testApp.controller('testContr',函数($scope){
$scope.view='tab1'//默认情况下为tab1
$scope.setView=函数($newView){
$scope.view=$newView;
}
//控制器语句在这里
});
其中的内容列在main.php中,但条件是ng show
tab1.php
<div>
tab1 content goes here
</div>
<div ng-show="view == 'tab1'">
tab1 content goes here
</div>
表1的内容在这里
tab2.php
<div ng-show="view == 'tab2'">
tab2 content goes here
</div>
tab2内容在这里
tab3.php
<div ng-show="view == 'tab3'">
tab3 content goes here
</div>
表3的内容在这里
tab4.php
<div ng-show="view == 'tab4'">
tab4 content goes here
</div>
表4的内容在这里
我看到了使用ng route
进行局部查看的好处,这是一个可管理的代码块。我可以实现php包含文件(每个文件都有单独的视图,并将它们全部包含在主文件中)和ng show
。
我的应用程序现在不需要关心URL导航。
当我尝试以上两种方法时,我发现ng show
更快,而且我还可以避免ng route.js
文件(减少文件加载时间)
我有什么想法不对吗。任何关于使用哪种方法的建议?对于这种方法
ng show
也有一些缺点。因为您正在使用ng show
显示隐藏选项卡,所以当您最初加载页面时,所有这些视图都将加载到您的DOM中&ng show
使用css show/hide相应地显示内容。如果你的内容越来越大,HTML也会越来越大
此外,如果您希望在一天内为每个选项卡处理单独的控制器
,更好的方法是为每个选项卡使用单独的ui视图
对于一个简单的静态
选项卡内容ng show
是可以的,但是如果您觉得它将来会更复杂,我的建议是选择单独的路线
和控制器
因此,在一天结束时,您可以通过考虑项目的未来增长来做出决定。对于这种方法,
ng show
也有一些缺点。因为您正在使用ng show
显示隐藏选项卡,所以当您最初加载页面时,所有这些视图都将加载到您的DOM中&ng show
使用css show/hide相应地显示内容。如果你的内容越来越大,HTML也会越来越大
此外,如果您希望在一天内为每个选项卡处理单独的控制器
,更好的方法是为每个选项卡使用单独的ui视图
对于一个简单的静态
选项卡内容ng show
是可以的,但是如果您觉得它将来会更复杂,我的建议是选择单独的路线
和控制器
因此,在一天结束时,您可以通过考虑项目的未来增长来做出决定。- 除了@DilumN所说的,使用
还允许您对选项卡进行深度链接(排序),即您可以向某人提供一个URL,该URL将打开到您想要指向的确切选项卡ng route
- 另外,
用于此任务,而ng route
用于ng hide/show
内容显示:无
- 最后但并非最不重要的一点是,
允许进行更简单的测试(您编写的测试正确吗?wink)ng route
- 您还可以使用ngRoute来分离关注点,最终,这将防止出现意大利面条代码。如果您来自jQuery背景,那么
方法看起来可能更直观,但具有讽刺意味的是ng show
方法是更具角度的方法ng route
- 除了@DilumN所说的,使用
还允许您对选项卡进行深度链接(排序),即您可以向某人提供一个URL,该URL将打开到您想要指向的确切选项卡ng route
- 另外,
用于此任务,而ng route
用于ng hide/show
内容显示:无
- 最后但并非最不重要的是,
允许easing路线