当组合Laravel和Angular时,我面临着这个问题:

在网上找到一个非常简单的tutorial之后,我试图使用ng-view指令加载视图。但是,我无法实际加载模板。这是我的app.js代码:

(function() {

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

    app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
        $routeProvider
            .when('/inicio', {
                templateUrl: '../templates/inicio.html',
                controller: 'homeCtrl'
            })
            .otherwise({ redirectTo: '/' });
    }]);

    app.controller('homeCtrl', ['$scope', '$http', function($scope, $http) {
        $http.get('http://localhost:8888/profucom/public/getData').success(function(data) {
            $scope.datos = data;
        });
    }])

})();


我的文件树:

app/
bootsrap/
public/
   js/
      angular.min.js
      angular-route.min.js
      app.js
   templates/
      inicio.html
. . .


该站点正常加载,但是当我观看源代码时,而不是观看inicio.html内的模板,就会发生这种情况...

我的index.blade.php文件中的代码

<div ng-view></div>


我在浏览器的源代码中看到的代码

<!-- ng-view: -->


Chrome上的network标签在尝试加载视图时不会显示404错误。

到目前为止,我已经尝试过:


将模板放在js文件夹中(templateUrl:'templates / inicio.html')
将模板放在public文件夹中(templateUrl:'../templates/inicio.html')

另外,templateUrl: '/public/templates/inicio.html'

将模板放在根文件夹中(templateUrl:'/templates/inicio.html')
将文件仅放置在js文件夹中:(templateUrl:'inicio.html')


以上似乎都不起作用。有什么帮助吗?

编辑我也在URL中看到了这种情况:代替myapp/public/inicio它像myapp/public/inicio#/一样加载

最佳答案

您的index.blade.php在哪里? templateUrl应该是从任何文件加载app.js代码到模板的路径(我假设那是index.blade.php)。因此,如果在根目录中,templateUrl: '/public/templates/inicio.html'

关于#的问题,请阅读this somewhat related question

关于javascript - Angular + Laravel:通过ngRoute加载 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27649863/

10-10 14:47