Angularjs 声明在单个页面中使用2个控制器
我有两个控制器,我想使用。其中一个是ModalDemoCtrl amd,另一个是ReportController。如何声明共享相同状态、url和templateUrl的两个控制器 app.jsAngularjs 声明在单个页面中使用2个控制器,angularjs,node.js,loopback,Angularjs,Node.js,Loopback,我有两个控制器,我想使用。其中一个是ModalDemoCtrl amd,另一个是ReportController。如何声明共享相同状态、url和templateUrl的两个控制器 app.js 你能试试这样的吗 <div ng-controller="FirstController"> <p>Stuff ..</p> </div> <div class="menu" ng-controller="SecondController"&
你能试试这样的吗
<div ng-controller="FirstController">
<p>Stuff ..</p>
</div>
<div class="menu" ng-controller="SecondController">
<p>Other stuff ...</p>
</div>
东西
其他东西
在一个页面中可以有多个控制器,但不能有多个ng应用程序。
然后定义此模块并在此模块中定义所有控制器:
//app.js
var app = angular.module('app', ['ui.router']);
app.config(['$stateProvider','$urlRouterProvider',
function($stateProvider,$urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider.
state('report', {
url:'/report',
templateUrl: 'views/report.html'
})
}]);
app.controller('ModalDemoCtrl', function($scope) {
$scope.message = 'This is ModalDemoCtrl';
});
app.controller('ReportController', function($scope) {
$scope.message = 'This is ReportController';
});
//report.html
<div class="container">
//ModalDemoCtrl
<div ng-controller = 'ModalDemoCtrl'>
{{ message }}
</div>
//ReportController
<div ng-controller = 'ReportController'>
{{ message }}
</div>
</div>
//app.js
var-app=angular.module('app',['ui.router']);
app.config(['$stateProvider','$urlRouterProvider',
函数($stateProvider,$urlRouterProvider){
$urlRouterProvider。否则(“/”);
$stateProvider。
陈述(“报告”{
url:“/report”,
templateUrl:'views/report.html'
})
}]);
app.controller('ModalDemoCtrl',函数($scope){
$scope.message='这是ModalDemoCtrl';
});
app.controller('ReportController',函数($scope){
$scope.message='这是ReportController';
});
//report.html
//ModalDemoCtrl
{{message}}
//报表控制器
{{message}}
您使用控制器的目的是什么?因为根据您正在做的事情,我不是将两个控制器分配到一个状态,而是将其分解成一个指令,将逻辑放入服务器,或者抽象出一个父状态控制器,处理子状态中的逻辑。这真的取决于你在做什么。
//app.js
var app = angular.module('app', ['ui.router']);
app.config(['$stateProvider','$urlRouterProvider',
function($stateProvider,$urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider.
state('report', {
url:'/report',
templateUrl: 'views/report.html'
})
}]);
app.controller('ModalDemoCtrl', function($scope) {
$scope.message = 'This is ModalDemoCtrl';
});
app.controller('ReportController', function($scope) {
$scope.message = 'This is ReportController';
});
//report.html
<div class="container">
//ModalDemoCtrl
<div ng-controller = 'ModalDemoCtrl'>
{{ message }}
</div>
//ReportController
<div ng-controller = 'ReportController'>
{{ message }}
</div>
</div>