在我的AngularJS应用程序中有2个控制器:ExternalCtrl
和LoginModalCtrl
。
ExternalCtrl
constains LoginModalCtrl
。 ExternalCtrl
broadcast
所有LoginModalCtrl
方法给app.controller('LoginModalCtrl', ['$scope', '$uibModal', function($scope, $uibModal) {
var $ctrl = this;
$ctrl.modalInstance = null;
$ctrl.animationsEnabled = true;
$ctrl.open = function(size, parentSelector) {
var parentElem = parentSelector ?
angular.element($document[0].querySelector('.modal-login' + parentSelector)) : undefined;
$ctrl.modalInstance = $uibModal.open({
animation: $ctrl.animationsEnabled,
ariaLabelledBy: 'modal-header',
ariaDescribedBy: 'modal-body',
templateUrl: 'loginModalContent.html',
controller: 'LoginModal2Ctrl',
controllerAs: '$ctrl',
backdropClass: "modal-backdrop",
size: size,
backdrop: true,
appendTo: parentElem,
resolve: {
items: function() {
return $ctrl.items;
}
}
});
};
$ctrl.scope = $scope;
$scope.$on('$showLoginWindow', function(event, args) {
//$ctrl.open();
console.log('on showLoginWindow ...');
});
}]);
提供信号以显示模态,但它不起作用。我的代码附在下面。
为什么$ scope。$ on方法未启动?
Controller LoginModalCtrl
'use strict';
app.controller('ExternalCtrl', ['$scope', '$location', 'authenticationService',
function($scope, $location, authenticationService) {
$scope.logout = function() {
authenticationService.logOut();
$location.path('/');
};
$scope.authentication = authenticationService.authentication;
$scope.$broadcast('$showLoginWindow');
console.log('broadcasting showLoginWindow ...');
}
]);
Controller ExternalCtrl
Initializing ExternalCtrl ExternalCtrl.js:14
broadcasting showLoginWindow ...
...
LoginModalCtrl.js:2 Initializing LoginModalCtrl
UPDATE1: 我将该行添加为每个控制器的第一行:"初始化XXXCtrl"。
现在,当页面启动时,我在控制台中看到以下消息:
public function index()
{
$pastors = Pastor::all();
$churchdetails = Church::all()->pluck('church_name','church_address');
return view('addpastor')->withpastors($pastors)->withchurchdetails($churchdetails);
}
public function create()
{
return view('addpastor');
}
public function store(Request $request)
{
//validation input
$this->validate($request, [
'pastor_name' => 'required|max:100',
]);
$pastors = New Pastor;
$pastors->pastor_name = $request->pastor_name;
$pastors->save();
return redirect()->back();
}