【问题标题】:Angular Material and md-nav-bar routing not workingAngular Material 和 md-nav-bar 路由不起作用
【发布时间】:2018-11-25 14:24:18
【问题描述】:

我正在研究 AngularJS,并决定使用 AngularJS 材料库来协助我的第一个应用程序。到目前为止,我已经从https://material.angularjs.org/latest/demo/navBar 复制了一些非常基本的代码,我已经对其进行了修改以满足我自己的需要。我在路由路由时遇到了一些麻烦,我的代码在下面,请帮助我其他人

.js

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

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

    $urlRouterProvider.otherwise('/home');

    $stateProvider

        .state('home', {
            url: '/home',
            templateUrl: 'templates/home.html',
            controller:'HomeController'
        })

         // nested list with custom controller
         .state('home.page1', {
            url: '/page1',
            templateUrl: 'templates/page1.html',
            controller: function ($scope) {
                $scope.dogs = ['Bernese', 'Husky', 'Goldendoodle'];
            }
        })

        // nested list with just some random string data
        .state('home.page2', {
            url: '/page2',
            templateUrl: 'templates/page2.html',
            //template: 'I could sure use a drink right now.',
            controller: function ($scope) {
                $scope.paragraphs = ['paragraph1', 'paragraph2', 'paragraph3'];
            }
        })

});

home.html

<div layout="column" ng-cloak>
    <md-content class="md-padding">
        <md-nav-bar md-no-ink-bar="disableInkBar"
                    md-selected-nav-item="currentNavItem"
                    nav-bar-aria-label="navigation links">
            <md-nav-item md-nav-href=".page1" name="page1">
                Page One
            </md-nav-item>
            <md-nav-item md-nav-href=".page2" name="page2">
                Page Two
            </md-nav-item>
            <md-nav-item md-nav-href=".page1" name="page1">
                Page Three
            </md-nav-item>
            <md-nav-item md-nav-href=".page2" name="page2" disabled>
                Page Four
            </md-nav-item>
        </md-nav-bar>
        <div ui-view></div>
    </md-content>
</div>

家庭控制器:

routerApp.controller('HomeController', function ($scope, $location,$state) {
   $scope.goto = function(page) {
    $state.go(page);
  };
});

【问题讨论】:

  • 您在控制台上看到任何错误吗?
  • 不,我没有收到任何错误
  • 我做了正确的路由吗?
  • 去掉每个状态下的url看看
  • page1和page2是首页的子组件

标签: angularjs angularjs-material


【解决方案1】:

你可以试试md-nav-sref

md-nav-sref 用作 Ui-router 状态以转换到此链接时 被点击了

<md-nav-item md-nav-sref="#!/page1" name="page1">
                Page One
</md-nav-item>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 2016-12-17
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    相关资源
    最近更新 更多