[英]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.