Im新角和Im使用版本1.2.9。我找到了一個路由示例,並嘗試將其適應於我的需求。
事情是我不需要使用任何模板我想要路由來呼叫我的控制器。要使用角度做只有路由的某些部分的應用程序。
然後在控制器中我會做一些Ajax調用來加載一些數據。
我知道這可能不是最好的解決方案,但項目是在沒有Angular的情況下啓動的,現在我們正在實施它,不想從頭開始重新啓動。
問題是,如果我不調用任何模板,控制器不會被調用。 我知道我可以在標籤中調用控制器,例如:<div ng-controller="...">
,但這是否是一個好的解決方案?
謝謝
所以,我有我的app.js
var sampleApp = angular.module('sampleApp', ['ngRoute']);
sampleApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/AddNewOrder', {
templateUrl: 'templates/add_order.html',
controller: 'AddOrderController' //this controller is being called.
}).
when('/ShowOrders', {
controller: 'ShowOrdersController'//this controller is never called.
}).
otherwise({
redirectTo: '/AddNewOrder'
});
}]);
sampleApp.controller('AddOrderController', function($scope) {
console.log("AddOrderController")
$scope.message = 'This is Add new order screen';
});
sampleApp.controller('ShowOrdersController', function($scope) {
console.log("ShowOrdersController")
$scope.message = 'This is Show orders screen';
});
HTML
<!DOCTYPE html>
<html lang="en">
<body ng-app="sampleApp">
<ul class="nav">
<li><a href="#AddNewOrder"> Add New Order </a></li>
<li><a href="#ShowOrders"> Show Order </a></li>
</ul>
<div class="col-md-9">
<div ng-view></div>
</div>
<script src="./angular-lib/angular.js"></script>
<script src="./angular-lib/angular-route.js"></script>
<script src="./app.js"></script>
</body>
</html>
模板
<h2>Add New Order</h2>
{{ message }}
它的工作原理非常感謝只需注意使用的
template
代替templateUrl
工作的解決方案! – Merlin