加载带有ng的html块当使用ng View加载另一个页面时包含

时间:2014-07-09 10:10:13

标签: html angularjs angularjs-directive block

实际上我想制作一些html块并通过ngInclude加载它们,当我通过控制器调用页面时,ngView显示包含我的html块的页面 例如像这个脚手架


index.html ----->包含ngView用于加载页面
app.js
-------根/视图
Dashboard.html ---->包含仪表板的html块
--------------根/视图/控制板
dashboard-profile.html ---->仪表板的html块 ... ...

我尝试了下面的代码,但它不起作用

app.js

var demoApp = angular.module('sampleApp', ['ngRoute']);

demoApp.config(function ($routeProvider){
    $routeProvider
    .when('/dashboard',
          {
              controller: 'SimpleController1',
              templateUrl: 'views/dashboard.html'
          })
    .when('/page',{
        controller: 'SimpleController2',
        templateUrl: 'Sources/views/page2.html'
    })
    .otherwise({ redirectTo: '/dashboard' });
});

demoApp.controller('myCtrl', function($scope) {
    $scope.dashboardprofile = 'views/dashboard/dashboard-profile.html';
});



的index.html

<body ng-app="sampleApp" >

<div ng-view ></div>

    <!-- compiled and minified Bootstrap JavaScript -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular-route.js"></script>
<script type="text/javascript" src="Sources/app2.js"></script>

</body>



dashboard.html

<div ng-include='dashboardprofile' ng-controller="myCtrl"></div>



dashboard-profile.html

  Some divs and text

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

试试这个..

 var demoApp = angular.module('sampleApp', ['ngRoute']);

 demoApp.config(function ($routeProvider){
  $routeProvider
.when('/dashboard',
      {
          controller: 'myCtrl',
          templateUrl: 'views/dashboard.html'
      })
.when('/page',{
    controller: 'SimpleController2',
    templateUrl: 'Sources/views/page2.html'
})
.otherwise({ redirectTo: '/dashboard' });
});

demoApp.controller('myCtrl', function($scope) {
$scope.dashboardprofile = 'views/dashboard/dashboard-profile.html';
});