HTML代码(home.html)
<html>
<body>
<!-- 目前我只知道通过点击事件来触发加载-->
<!-- 如何实现一跳转到视图,就调用$scope.getHomeData()方法呢? -->
<a href="javascript:void(0);" ng-repeat="getHomeData()">
</body>
</html>
JS代码
//配置主页的路由
mainApp.config(function($stateProvider, $urlRouterProvider) {
//默认指向404
$urlRouterProvider.otherwise("/404");
//配置路由
$stateProvider.state('home', {
url: '/home',
templateUrl: 'home.html',
controller : function($scope,$http){
//定义获取首页相关数据的方法
$scope.getHomeData = function(){
$http({
url : '/getHomeData',
method : 'POST'
}).then(function(){
//请求成功
},function(){
//请求失败
})
};
}
}).state('404',{
url: '/home',
templateUrl: 'home.html'
});
});
麻烦大神看一下伪代码,多多指教
使用ng-init来初始化, 这样可能会有页面空白,也可以使用resolve在跳转前就加载数据
从你的代码来看,你将请求数据封装在了$scope下的getHomeData方法:你只需要在controller下调用就可以获取数据了:
$scope.getHomeData()
问题:你的代码极不规范,你不应该在路由配置里面写太多的逻辑代码。