通过使用指令创建导航栏,单击导航栏中的项目,ng-view 中的模板 hetml 为空

ajax.enjoy

我通过使用 angularjs 指令创建了一个导航栏,现在我想单击导航栏中的一个项目以在 ng-view 标签中显示模板 html 文件,但它不起作用。我应该怎么做?将不胜感激任何帮助。

提前致谢

索引.html

<html lang="en" ng-app="app">
  <head>
    <meta charset="UTF-8">
    <title>Title</title>  <linkrel="stylesheet"href="bower_components/bootstrap/dist/css/bootstrap.css"> <linkhref="https://cdn.bootcss.com/fontawesome/4.7.0/css/fontawesome.css"rel="stylesheet">
    </head>
    <body>

    <na></na>
    <div ng-view></div>

    <script src="bower_components/jquery/dist/jquery.js"></script>
    <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular/angular-route.js"></script>
    <script src="bower_components/angular/angular-animate.js"></script>
    <script src="bower_components/angular/angular-sanitize.js"></script>
    <script src="app.js"></script>
    </body>
    </html>

应用程序.js

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

    app.directive('na',function () {
        return {
            restrict: "EA",
            replace: true,
            transclude: true,
            scope:{
                items:'@items',
            },
            templateUrl:'./tpl/index/tmpl/tplindex.html',
           // template: '<ul ng-repeat="item in items" class="nav navbar navbar-default"> <li><i class="{{item.icon}}"  aria-hidden="true"></i>{{item.name}}</li> </ul>',
            link:function($scope, element, attrs){
                $scope.items=[{name:'system',icon:'fa fa-windows fa-2x',id:'system'},

                    {name:'recognition',icon:'fa fa-indent fa-2x',id:'recognition'},

                    {name:'route',icon:'fa fa-indent fa-2x',id:'route'},

                    {name:'auth',icon:'fa fa-user-circle-o fa-2x',id:'auth'},

                    {name:'strategy',icon:'fa fa-windows fa-2x',id:'strategy'},

                    {name:'strategy',icon:'fa fa-windows fa-2x',id:'static'}
                   ];
            }

        }
    }).config(['$routeProvider', '$controllerProvider',
        function($routeProvider, $controllerProvider) {
            $routeProvider.
            when('/recongition', {
                template:'this is test info'

            }).
            when('/system', {
                templateUrl: './tpl/system/system.html'

            }).
            when('/route', {
                templateUrl: 'tpl/route/route.html'
                //controller: 'routeController',
                //directive:'routeDrective'
            }).
            when('/auth', {
                templateUrl: 'tpl/auth/auth.html'

            }).
            when('/strategy', {
                templateUrl: 'tpl/strategy/strategy.html'

            }).
            when('/static', {
                templateUrl: './tpl/static/static.html'

            }).
            otherwise({
                redirectTo: '/static'      //angular就喜欢斜杠开头
            });

        }]);

tplindex.html

<nav class="navbar navbar-default navbar-fixed-top">
        <div class="navbar-header" style="margin-left: 20px">
            <a class="navbar-brand" href="#" style="font-size: xx-large"> Panabit</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
            <ul class="nav navbar-nav" ng-repeat="item in items">
                <li><a  href="#/{{item.id}}" ><i class="{{item.icon}}"></i>&nbsp;&nbsp;{{item.name}}</a></li>
            </ul>
        </div><!--/.nav-collapse -->
</nav>
尼古拉·达姆·拉森

您需要使用ng-href指令而不是href为了{{item.id}}在您的网址中使用角度插值所以你的链接应该是这样的:

<li><a ng-href="#/{{item.id}}" ><i class="{{item.icon}}"></i>&nbsp;&nbsp;{{item.name}}</a></li>

如果这不起作用,它可能会尝试使用 html5mode 路由,因此您可以尝试通过添加来禁用它

$locationProvider.html5Mode(true);

在其中添加路由配置。

如果您在代码中添加了一个 Plunker(或类似的)会很有帮助,所以我们可以自己玩弄它。

其他注意事项

  • 你不需要你的指令是transclusive的
  • 您似乎没有将任何内容传递给items-scope 变量,因此您可以删除它并简单地使用scope: true
  • 您或许应该改用 angular 1.5 组件(假设您使用的是 angular 1.5 或更高版本)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导航栏为空,从情节提要中创建

来自分类Dev

self.view.subviews在iOS 8中为空

来自分类Dev

如何在导航栏中为我在 django 中的所有模板设置日期时间?

来自分类Dev

如果X参数在模板中为空,则隐藏{{{X}}}?

来自分类Dev

测试对象是否为AngularJS模板中的空对象

来自分类Dev

检查PhpStorm文件模板中的变量是否为空

来自分类Dev

在导航栏中对齐项目

来自分类Dev

实体框架中的导航属性为空

来自分类Dev

在导航栏中创建字幕

来自分类Dev

如何在模板化类中为``boost :: array_view''创建typedef

来自分类Dev

如何在模板化类中为``boost :: array_view''创建typedef

来自分类Dev

导航栏中的导航栏按钮项目“撰写”在右侧移动

来自分类Dev

如何在Vue中为单页应用程序创建导航栏?

来自分类Dev

使用导航抽屉模板更改片段中的工具栏

来自分类Dev

如何使用selenium python单击页面顶部导航栏中的项目?

来自分类Dev

升级到Ember 1.7.0(或1.8.1)后,组件模板中的view.parentView为null。

来自分类Dev

在导航抽屉中为Android状态栏着色

来自分类Dev

在导航栏中为嵌入式UISearchbar设置颜色

来自分类Dev

为什么HTML5中的导航栏为列表?

来自分类Dev

抖动中的底部导航栏颜色恢复为黑色

来自分类Dev

如何在 Xamarin iOS 中为导航栏设置 ShadowImage

来自分类Dev

如何使用SWIFT处理导航栏中BackBarButtonItem的单击事件?

来自分类Dev

余烬:相关模型出现在chrome检查器中,但在模板中为空

来自分类Dev

灰烬模型结果在模板中为空但已在检查器中填充

来自分类Dev

在导航栏中显示活动项目

来自分类Dev

在Flexbox导航栏中对齐项目

来自分类Dev

在导航栏中显示活动项目

来自分类Dev

bootsrap导航栏中的项目数

来自分类Dev

导航栏中的导航偏移

Related 相关文章

  1. 1

    导航栏为空,从情节提要中创建

  2. 2

    self.view.subviews在iOS 8中为空

  3. 3

    如何在导航栏中为我在 django 中的所有模板设置日期时间?

  4. 4

    如果X参数在模板中为空,则隐藏{{{X}}}?

  5. 5

    测试对象是否为AngularJS模板中的空对象

  6. 6

    检查PhpStorm文件模板中的变量是否为空

  7. 7

    在导航栏中对齐项目

  8. 8

    实体框架中的导航属性为空

  9. 9

    在导航栏中创建字幕

  10. 10

    如何在模板化类中为``boost :: array_view''创建typedef

  11. 11

    如何在模板化类中为``boost :: array_view''创建typedef

  12. 12

    导航栏中的导航栏按钮项目“撰写”在右侧移动

  13. 13

    如何在Vue中为单页应用程序创建导航栏?

  14. 14

    使用导航抽屉模板更改片段中的工具栏

  15. 15

    如何使用selenium python单击页面顶部导航栏中的项目?

  16. 16

    升级到Ember 1.7.0(或1.8.1)后,组件模板中的view.parentView为null。

  17. 17

    在导航抽屉中为Android状态栏着色

  18. 18

    在导航栏中为嵌入式UISearchbar设置颜色

  19. 19

    为什么HTML5中的导航栏为列表?

  20. 20

    抖动中的底部导航栏颜色恢复为黑色

  21. 21

    如何在 Xamarin iOS 中为导航栏设置 ShadowImage

  22. 22

    如何使用SWIFT处理导航栏中BackBarButtonItem的单击事件?

  23. 23

    余烬:相关模型出现在chrome检查器中,但在模板中为空

  24. 24

    灰烬模型结果在模板中为空但已在检查器中填充

  25. 25

    在导航栏中显示活动项目

  26. 26

    在Flexbox导航栏中对齐项目

  27. 27

    在导航栏中显示活动项目

  28. 28

    bootsrap导航栏中的项目数

  29. 29

    导航栏中的导航偏移

热门标签

归档