Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 混淆了棱角和轨道一起布线吗_Javascript_Ruby On Rails_Angularjs - Fatal编程技术网

Javascript 混淆了棱角和轨道一起布线吗

Javascript 混淆了棱角和轨道一起布线吗,javascript,ruby-on-rails,angularjs,Javascript,Ruby On Rails,Angularjs,我正在尝试将AngularJS集成到我的应用程序的一部分中,我的url/events/something下的任何内容都可以通过angular路由处理。然而,我一直在遵循Angular的教程,只是我似乎无法获得要渲染的视图。我想我在我的路线上做错了什么,但我似乎不明白。有人能帮我吗 示例链接:http://localhost:3000/events/events1 铁路路线: get '/events/:id' => 'event#event' 角度代码: var app = angula

我正在尝试将AngularJS集成到我的应用程序的一部分中,我的url
/events/something
下的任何内容都可以通过angular路由处理。然而,我一直在遵循Angular的教程,只是我似乎无法获得要渲染的视图。我想我在我的路线上做错了什么,但我似乎不明白。有人能帮我吗

示例链接:
http://localhost:3000/events/events1

铁路路线:

get '/events/:id' => 'event#event'
角度代码:

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

app.config(['$routeProvider',
    function($routeProvider) {
        $routeProvider.when('events/:id', {
            templateUrl: 'eventTemp.html',
            controller: 'EventsCtrl'
        });
    }
]);
app.controller('EventsCtrl', function($scope, $http){
    console.log('yo!'); //this is never logging
});
外部模板:

<div class = "event" ng-app="eventsApp">
    <div ng-view></div>
</div>

您的Angular应用程序是否与模板位于同一目录中?如果不是,templateUrl需要是正确的路径

templates/eventTemp.html

我把它玩弄了一番,结果发现它出了问题

$routeProvider.when('events/:id' 
当我将方法更改为此时:

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

app.config([
  '$routeProvider', function($routeProvider) {      
    $routeProvider.
     when('/', {
        templateUrl: '../templates/eventTemp2.html',
        controller: 'EventsCtrl2'
     }).
     otherwise({
        templateUrl: '../templates/eventTemp.html',
        controller: 'EventsCtrl'
     });
  }
]);
app.controller('EventsCtrl', function($scope, $http){
    console.log('yo!');
});

app.controller('EventsCtrl2', function($scope, $http) {
    console.log('yo2');
});

EventsCtrl2
eventTemp.html2
得到渲染。

我曾经遇到过类似的问题,解决方法是这样-使用:

$routeProvider('/events/:id')
而不是

$routeProvider('events/:id')

显然,angular需要的是以
/

开始的路由路径是的,在尝试了大量不同的URL匹配组合后,我发现。。。无论如何谢谢你!
$routeProvider('/events/:id')
$routeProvider('events/:id')