2014-11-16 71 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的信息,以了解如何使角度能够确定是否应从服务器检索当前路由。

如果您提供有关角度路由器设置的更多详细信息,我想改进此答案。