[英]Angular + Laravel : loading view via ngRoute
当组合Laravel和Angular时,我面临着这个问题:
在网上找到了一个非常简单的教程之后,我试图使用ng-view
指令加载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'
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'
至于#
的问题,请阅读与此相关的问题
再一次,这不过是人为的错误。 对于那些花时间试图回答和理解我的问题的人,我同时感到遗憾和感谢。 这是解决方案:
我直接使用CDN的最新稳定版本1.3.5 ; 但是-只是为了看看会发生什么-我更改为1.2.28版。 有什么不同? 一点语法。
而不是我上面做的...
app.controller('homeCtrl', ['$scope', '$http', function($scope, $http) {
. . .
我这样做:
app.controller('homeCtrl', function($scope, $http) {
. . .
从一个版本更改为另一个版本就是答案,并且只需更改一点语法即可。
我希望这能像我一样帮助任何分心的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.