簡體   English   中英

Phalcon和Angular JS路由-使用Angular模板和Phalcon控制器

[英]Phalcon and Angular JS routing - use Angular templates and Phalcon controllers

我在Angular JS中使用Phalcon並遇到問題,Phalcon正在捕獲我的所有Angular路線。 目標是首先調用路線/ dashboard來加載Angular,jQuery等。如果用戶單擊鏈接/ people,則僅ng-view應該更改,並且應該加載Angular模板。

電壓模板:

<div ng-app="sampleApp">

    // Loads menu with two links to /dashboard and /people
    <?php $this->partial("partials/navigation") ?>

    <?php echo $this->flashSession->output(); ?>

    <div ng-view ng-controller="DashboardController">
    {{ content() }}
    </div>
</div>

我的目標是,當用戶單擊鏈接時,只有ng-view會更改為Angular中定義的路由:

$routeProvider
        .when('/dashboard', {
            templateUrl: '/partials/dashboard.html',
            controller: 'DashboardController'
        }).when('/people', {
            templateUrl: '/partials/people.html',
            controller: 'PeopleController'
        });

取而代之的是,Phalcon路由嘗試使用方法“ indexAction”加載“ PeopleController”。

我試圖禁用Phalcon路由,僅加載儀表板路由(已加載Angular庫的位置):

$di->set('router', function () {

    $router = new \Phalcon\Mvc\Router(false);

    $router->add("/dashboard", array(
        'controller' => 'dashboard',
        'action' => 'index'
    ));

    return $router;
});

如何使用Phalcon加載某些頁面/路由(例如/ dashboard)和某些頁面/路由以更改Angular中的ng-view?

最好的問候,帕特里克

編輯:它與正常的Angular一起正常工作,但是在激活的HTML模式下會出現問題

構造將false作為參數傳遞的路由器就足以不添加默認路由。 只有您明確添加的內容才會匹配。

但是,您的問題更有可能來自客戶端路由器。 請仔細閱讀有關$ location服務的信息,以使make angular能夠判斷是否應從服務器中檢索當前路線。

如果您提供有關角度路由器設置的更多詳細信息,我想改善這個答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM