Как исправить $ route.current не определено в AngularJS - PullRequest
0 голосов
/ 03 июня 2018

Я новичок в AngularJS, и в настоящее время я получаю "Ошибка типа: $ route.current не определен".Пожалуйста, смотрите код ниже:

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

sampleApp.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
    when('/Angular/:topicId', {
        mytext: 'This is angular',
        controller: 'angularControllerParam',
        templateUrl: 'angularParam.html'
    });
}]);    

sampleApp.controller('angularControllerParam', function($scope, $routeParams, $route) {
    $scope.tutorialid = $routeParams.topicId;
    $scope.text = $route.current.mytext;
});
<body ng-app="sampleApp">
        <h1>Accessing parameters from the route</h1>
        <table class="table table-stripped" ng-controller="angularControllerParam">
            <thead>
                <tr>
                    <th> # </th>
                    <th> Angular JS topic </th>
                    <th> Description </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td> 1 </td>
                    <td> 1 </td>
                    <td> Controllers </td>
                    <td> <a href="#!Angular/1"> Topic details </a> </td>
                </tr>
                <tr>
                    <td> 2 </td>
                    <td> 2 </td>
                    <td> Models </td>
                    <td> <a href="#!Angular/2"> Topic details </a> </td>
                </tr>
                <tr>
                    <td> 3 </td>
                    <td> 3 </td>
                    <td> Directives </td>
                    <td> <a href="#!Angular/3"> Topic details </a> </td>
                </tr>
            </tbody>
        </table>
        <div ng-view></div>
    </body>

И ниже находится angularParam.html, где, когда пользователь нажал «Детали темы», он отобразит angularParam.html

<!-- angularParam.html -->

<h2>Angular</h2>
<div>{{ text }}</div>
<div>{{ tutorialid }}</div>

Я пытаюсь получить доступ к свойствам маршрута, который должен отображать текст «Это угловой» в моем angularParam.html

Может ли кто-нибудь помочь мне в этом?Заранее спасибо.

1 Ответ

0 голосов
/ 04 июня 2018

Итак, две вещи:

  1. При применении одного и того же контроллера к элементу таблицы он не находится на маршруте и, следовательно, не имеет $route.Таким образом, ng-controller может быть удален оттуда.

  2. Вам необходимо получить доступ к mytext, используя вместо этого $route.current.$$route.mytext.

Проверкаиз PLNK, который я создал: https://plnkr.co/edit/2jmErSMSSK7lA9cZPQ3m?p=preview

...