AngularJS 仅加载组件 html 而不是整个 ng-view
AngularJS loads only the component html instead of entire ng-view
我创建了路由,其中一条路由可以保存参数并根据它们在 ng-view 中调用特定的 html。
<div id="navPost" class="row">
<div class="col-sm-8">
<div class="levakolona">
<main ng-view></main>
</div>
</div>
<div class="col-sm-4">
<div class="desnakolona">----
// something
</div>
</div>
</div>
这是路线...
app.config(['$routeProvider', '$locationProvider',function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
$routeProvider
.when("/",
{
title: 'Glavna',
templateUrl : "/pages/kartice.html",
controller: 'kontroler'
})
.when("/glavna",
{
title: 'Glavna',
templateUrl : "/pages/kartice.html",
controller: 'kontroler'
})
.when("/post/:postID",
{
title: 'Post',
templateUrl: '/pages/post.html',
controller: 'kontroler'
})
.when("/o-nama",
{
title: 'Post',
templateUrl: '/pages/Onama.html',
controller: 'kontroler'
})
.otherwise({
redirectTo: '/'
});
}]);
app.controller('kontroler', ['$scope', '$routeParams', function($scope, $routeParams){
$scope.templateUrl = '/pages/postovi/'+$routeParams.postID + '.html';
}]);
当我使用 /post/VaricellaZoster.html 路由时,它会打开 post.html 中的特定 html 并回调到 ng-view...但是当我输入url 直接在 Chrome 或任何浏览器中然后它打开我只是那个 html 并且不会使用 ng-view 生成整个应用程序......它如何修复?
在您的 htaccess 中添加:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
这将跳到实际资源(如果有),并跳到 index.html 所有 AngularJS 路由。
我创建了路由,其中一条路由可以保存参数并根据它们在 ng-view 中调用特定的 html。
<div id="navPost" class="row">
<div class="col-sm-8">
<div class="levakolona">
<main ng-view></main>
</div>
</div>
<div class="col-sm-4">
<div class="desnakolona">----
// something
</div>
</div>
</div>
这是路线...
app.config(['$routeProvider', '$locationProvider',function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
$routeProvider
.when("/",
{
title: 'Glavna',
templateUrl : "/pages/kartice.html",
controller: 'kontroler'
})
.when("/glavna",
{
title: 'Glavna',
templateUrl : "/pages/kartice.html",
controller: 'kontroler'
})
.when("/post/:postID",
{
title: 'Post',
templateUrl: '/pages/post.html',
controller: 'kontroler'
})
.when("/o-nama",
{
title: 'Post',
templateUrl: '/pages/Onama.html',
controller: 'kontroler'
})
.otherwise({
redirectTo: '/'
});
}]);
app.controller('kontroler', ['$scope', '$routeParams', function($scope, $routeParams){
$scope.templateUrl = '/pages/postovi/'+$routeParams.postID + '.html';
}]);
当我使用 /post/VaricellaZoster.html 路由时,它会打开 post.html 中的特定 html 并回调到 ng-view...但是当我输入url 直接在 Chrome 或任何浏览器中然后它打开我只是那个 html 并且不会使用 ng-view 生成整个应用程序......它如何修复?
在您的 htaccess 中添加:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
这将跳到实际资源(如果有),并跳到 index.html 所有 AngularJS 路由。