如何使用angular点击菜单上的div内加载html?

时间:2014-12-14 11:33:53

标签: javascript angularjs html5 menu

我是角色新手,我有一个菜单和一个容器,当用户点击菜单项时,我想让视图动态变化。我已经跟踪了一些样品但是没有工作。这是我的代码,

1.Index.html 2.Dashboard.html

HTML:

 <ul id="side-menu" class="nav">
    <div class="clearfix"></div>
      <li class="active" ng-click="template='dashboard.html'"><a href="">
           <div class="icon-bg bg-orange"></div>
       <span class="menu-title">Dashboards</span>
       </a>
      </li>

app.js:

var app = angular.module('Digin',[]);

这是div:

<div class="page-content" ng-include src="template">
</div>

1 个答案:

答案 0 :(得分:2)

看起来你需要的是添加一个路由机制(视图通常由路由而不是逻辑条件定义)Angular的清理方法是通过路由模块,可以使用ngRoute来完成模块或AngularUI团队的ui-router模块。

这个想法是定义一个状态并将视图附加到状态,在你的html中添加一个ui-view标签,并将视图动态注入其父包装器中:

app.js

var routerApp = angular.module('routerApp', ['ui.router']);

routerApp.config(function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/dashboard');

    $stateProvider          
        .state('dashboard', {
            url: '/dashboard',
            templateUrl: 'dashboard.html'
        })

});

index.html(请将ui-view标记视为html容器)

<body ng-app="routerApp">

<!-- NAVIGATION -->
<nav class="navbar navbar-inverse" role="navigation">
    <div class="navbar-header">
        <a class="navbar-brand" ui-sref="#">AngularUI Router</a>
    </div>
    <ul class="nav navbar-nav">
        <li><a ui-sref="dashboard">Dashboard</a></li>
    </ul>
</nav>

<div class="container">

    <div ui-view></div>

</div>
    <script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>

</body>

扩展angular-routing-using-ui-router