Javascript 调用另一个控制器内部的控制器Angularjs
我在索引中声明了两个HTML页面:Javascript 调用另一个控制器内部的控制器Angularjs,javascript,angularjs,ionic-framework,ng-controller,Javascript,Angularjs,Ionic Framework,Ng Controller,我在索引中声明了两个HTML页面:Home.HTML和jargon.HTML。 每个页面都在应用程序模块中加载了自己的控制器 angular.module('starter', ['ionic', 'ngRoute', 'starter.homeController', 'starter.jargonController']) .config(function($stateProvider, $urlRouterProvider) { $stateProvider .state(
Home.HTML
和jargon.HTML
。
每个页面都在应用程序模块中加载了自己的控制器
angular.module('starter', ['ionic', 'ngRoute', 'starter.homeController', 'starter.jargonController'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'templates/home.html',
controller: 'homeCtrl'
})
.state('jargon', {
url: 'jargon',
templateUrl: 'templates/jargon.html',
controller: 'jargonCtrl'
});
$urlRouterProvider.otherwise('/home');
}))
我的问题是jargon.html还有两个控制器:
<ion-view title="Jargon">
<ion-content>
<a class="item" href="#/jargon"></a>
<ion-pane ng-controller="CardsCtrl">
<div class="testimage">
<img ng-src="img/Logo.png" class="logo">
</div>
<swipe-cards on-card-swipe="onSwipe($event)">
<swipe-cards>
<swipe-card on-card-swipe="cardSwiped()" id="start-card">
</swipe-card>
<swipe-card ng-repeat="card in cards" on-destroy="cardDestroyed($index)" on-card-swipe="cardSwiped($index)">
<div ng-controller="CardCtrl">
<div class="image">
<img ng-src="{{card.image}}">
</div>
<div class="title">
{{card.Description}}
</div>
</div>
</swipe-card>
</swipe-cards>
</ion-pane>
</ion-content>
我的问题是:在哪里可以同时调用
CardsCtrl
和CardCtrl
?在相同的jargonController.js
文件中?下面是一个简单的示例:
<div ng-controller="HelloCtrl">
<p>{{fromService}}</p>
</div>
<br />
<div ng-controller="GoodbyeCtrl">
<p>{{fromService}}</p>
</div>
为他们提供服务,然后你可以在任何地方使用他们。你能告诉我怎么做吗?我不熟悉angularyeah一秒一位为什么使用两个控制器?不要使用控制器在控制器之间共享代码或状态,而是使用angular服务。有关如何实施服务,请参见此链接:
<div ng-controller="HelloCtrl">
<p>{{fromService}}</p>
</div>
<br />
<div ng-controller="GoodbyeCtrl">
<p>{{fromService}}</p>
</div>
//angular.js example for factory vs service
var app = angular.module('myApp', []);
app.service('testService', function(){
this.sayHello= function(text){
return "Service says \"Hello " + text + "\"";
};
this.sayGoodbye = function(text){
return "Service says \"Goodbye " + text + "\"";
};
});
function HelloCtrl($scope, testService)
{
$scope.fromService = testService.sayHello("World");
}
function GoodbyeCtrl($scope, testService)
{
$scope.fromService = testService.sayGoodbye("World");
}