【发布时间】:2015-09-19 14:19:36
【问题描述】:
我有一个通过 Rails 传递到我的 Angular 代码中的 url。但是,当我尝试在 url 中获取参数时,它显示为空白。谁能帮帮我?
示例网址:http://localhost:3000/events/event1
Plnkr:http://plnkr.co/edit/yG8wAZHhgPtH2PBFzql3?p=preview
角度:
eventsApp = angular.module('EventsApp', ['ngRoute'])
eventsApp.config [
'$routeProvider'
'$locationProvider'
($routeProvider, $locationProvider) ->
$locationProvider.html5Mode(true)
$routeProvider.when '/events/:eventName',
templateUrl: '../../views/events/events.html.erb'
controller: 'EventsCtrl'
return
]
eventsApp.controller('EventsCtrl', [
'$scope'
'$routeParams'
($scope, $routeParams) ->
console.log($routeParams.eventName) # shows up as undefined
$scope.greeting = $routeParams.eventName
])
HTML:
events.html.erb
<div>
{{greeting}}
</div>
application.html.erb(整体布局)
<div id="content" ng-app="EventsApp">
<div ng-view></div>
<%= yield %>
</div>
编辑:按照建议,我已将 ng-app 和 ng-view 移动到布局中,并仅保留 events.html.erb 中的 div
【问题讨论】:
-
尝试通过记录一些字符串来确保您的控制器工作正常。一旦你确定它可以工作,你就可以调试
$routeParams
标签: javascript ruby-on-rails angularjs coffeescript