javascript - Angular路由加载视图后,如何实现立即初始化请求数据?
巴扎黑
巴扎黑 2017-04-11 12:24:52
0
2
524
  • 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'
  });
});
  • 麻烦大神看一下伪代码,多多指教

巴扎黑
巴扎黑

全部回覆(2)
巴扎黑

使用ng-init来初始化, 这样可能会有页面空白,也可以使用resolve在跳转前就加载数据

刘奇

从你的代码来看,你将请求数据封装在了$scope下的getHomeData方法:你只需要在controller下调用就可以获取数据了:
$scope.getHomeData()
问题:你的代码极不规范,你不应该在路由配置里面写太多的逻辑代码。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板