我是AngularJS的新手,目前我收到的是“TypeError:$ route.current is undefined”。请参阅以下代码:
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中显示“This is angular”文本
有人可以帮我这个吗?提前谢谢。
答案 0 :(得分:0)
所以有两件事:
通过将相同的控制器应用于表元素,它不在路由上,因此没有$route
。因此ng-controller
可以从那里删除。
您需要使用mytext
来访问$route.current.$$route.mytext
。
查看我创建的plnk:https://plnkr.co/edit/2jmErSMSSK7lA9cZPQ3m?p=preview