2014-11-16 70 views
0

我正在使用Phalcon和Angular JS,並且存在問題,Phalcon正在捕獲我所有的Angular路由。目標是首先調用路由/儀表板,加載Angular,jQuery等。如果用戶點擊鏈接/人員,只有ng-view應該改變,並且Angular模板應該被加載。Phalcon和Angular JS路由 - 使用Angular模板和Phalcon控制器

伏模板:

<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-觀點與角度定義的路線改變:

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

取而代之的是,爾康路由嘗試使用「indexAction」方法加載「PeopleController」。

我試圖禁用爾康路由和只加載儀表盤路線(其中角庫加載):

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

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

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

    return $router; 
}); 

我如何可以加載一些頁面/路由與像/儀表板和一些爾康在Angular中改變ng-view的頁面/路徑?

最好的問候, 帕特里克

編輯:正常工作與正常的角度,但與激活HTML模式,它使問題

回答

1

構建你的路由器傳遞false作爲參數就足以不添加默認路線。只有你明確添加的人才會被匹配。

但是,您的問題更可能來自您的客戶端路由器。請仔細閱讀關於$location service的信息,以瞭解如何使角度能夠確定是否應從服務器檢索當前路由。

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