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 路由。