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/inicioようにロードしますmyapp/public/inicio#/

4

2 に答える 2

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 に答える
0

index.blade.php はどこにありますか? templateUrlapp.jsコードをロードするファイルからのテンプレートへのパスにする必要があります(index.blade.phpだと思います)。それがルートディレクトリにある場合、templateUrl: '/public/templates/inicio.html'

の問題については、このやや関連する質問#を読んでください

于 2014-12-25T19:40:18.877 に答える