angular.js - angular路由页面里怎么实现再写一个ng-controller(请进来看,标题说不明白)
伊谢尔伦
伊谢尔伦 2017-05-15 17:02:41
0
2
712

首先,创建一个index.html页面

<!doctype html>
<html ng-app="mainApp">
<head>
    <meta charset="UTF-8"/>
    <title>Angular JS + Spring MVC test</title>
    <link rel="stylesheet" href="resources/bootstrap/css/bootstrap.min.css" />
    <script src="resources/js/lib/angular/angular.js"></script>
    <script src="resources/js/lib/angular/angular-resource.js"></script>
    <script src="resources/js/lib/angular/angular-route.js"></script>
    <script src="resources/js/mainApp.js"></script>
    <script src="resources/js/InsuranceAddController.js"></script>
</head>

<body>
<p id="wrapper">
    <p ng-view></p>
</p>
</body>
</html>

然后创建一个add.html路由页面

<p class="row">
    ....
</p>

然后是mainApp.js,用于控制路由分配和模板的js

var mainApp = angular.module('mainApp', [ 'ngRoute', 'ngResource' ]);

mainApp.config([ '$routeProvider', function($routeProvider) {

    $routeProvider.when('/add.do', {
        templateUrl : 'insurance_add.html',
        controller : 'InsuranceAddController'
    });

} ]);

然后创建InsuranceAddController.js用于处理add.html页面的一些js或其他

mainApp.controller('InsuranceAddController', ['$scope', '$location', function($scope, $location) {

    $scope.gotoList = function() {
            ...
    };
 
}]);

我要实现的是在这个页面写一个分页,我的理解的在这个路由页面再写一个controller,

<p class="row">
    <p ng-controller="PaginationDemoCtrl">
        ...
    </p>
</p>

然后再InsuranceAddController.js里添加用于控制PaginationDemoCtrl的代码

mainApp.controller('InsuranceAddController', ['$scope', '$location', function($scope, $location) {

    $scope.gotoList = function() {
            ...
    };
 
}]);
angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('PaginationDemoCtrl', function ($scope, $log) {
              ...
});

可是这样就报错了,请问这个怎么实现呢?(新手愚问,多多包涵)

以下是分页DEMO(我想把分页demo丢进add.html这个路由页面)

<p ng-controller="PaginationDemoCtrl">
    <uib-pagination total-items="bigTotalItems" ng-model="bigCurrentPage" max-size="maxSize" class="pagination-sm" boundary-link-numbers="true">
    </uib-pagination>
</p>
<script>
    angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap']);    
    angular.module('ui.bootstrap.demo').controller('PaginationDemoCtrl', function ($scope, $log) {
        $scope.totalItems = 64;
        $scope.currentPage = 4;
        $scope.setPage = function (pageNo) {
            $scope.currentPage = pageNo;
        };
        $scope.pageChanged = function() {
            $log.log('Page changed to: ' + $scope.currentPage);
        };
            $scope.maxSize = 5;
            $scope.bigTotalItems = 175;
            $scope.bigCurrentPage = 1;
    });
        </script>
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(2)
黄舟

この方法で controller を使用しても問題がないことは正確に言えます。エラーが発生した場合は、どこかで間違いがあったことを意味します。たとえば、PaginationDemoCtrlはどこですか。 > 定義?controller是没有问题,出错说明你什么地方写错了,比如:在哪里定义的PaginationDemoCtrl?

还有,写个分页,干嘛要里面再套一个controller

また、ページングを記述するときに、なぜ別の controller をその中に置く必要があるのですか?🎜
いいねを押す +0
洪涛

リーリー

ここでの mainApp はどこから来たものですか?ブラウザは正しく認識できるでしょうか?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート