2

结合 Laravel 和 Angular 时,我遇到了这个问题:

按照我在网上找到的一个非常简单的教程,我试图使用该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 错误。

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

  1. 在文件夹中放置模板js(templateUrl:'templates/inicio.html')
  2. 将模板放在public文件夹中(templateUrl:'../templates/inicio.html')
    • 还,templateUrl: '/public/templates/inicio.html'
  3. 将模板放在根文件夹中(templateUrl:'/templates/inicio.html')
  4. 仅将文件放在js文件夹中:(templateUrl:'inicio.html')

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

编辑我也在 url 中看到了这种情况:而不是myapp/public/iniciomyapp/public/inicio#/

4

2 回答 2

0

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

至于 的问题#,请阅读这个有点相关的问题

于 2014-12-25T19:40:18.877 回答
0

再一次,这不过是人为的错误。对于那些花时间试图回答和理解我的问题的人,我感到抱歉和感谢。这是解决方案:

我直接从 CDN 使用最新的稳定版本,版本1.3.5;但是 - 只是想看看会发生什么 - 我更改为1.2.28版本。有什么不同?一点语法。

而不是我上面所做的......

app.controller('homeCtrl', ['$scope', '$http', function($scope, $http) {
. . .

我这样做了:

app.controller('homeCtrl', function($scope, $http) { 
. . .

答案是从一个版本更改为另一个版本,并稍微更改语法。

我希望这可以帮助像我一样分心的人。

于 2014-12-30T03:58:26.590 回答