在 angular 中的模态中更改模态的模板
Change the template of a modal from within the modal in angular
我打开这样一个模式:
<a href="#" ng-click="showLogin()">Sign in</a>
登录功能
$scope.showLogin= function() {
var modalInstance = $uibModal.open({
templateUrl: 'partials/login.html',
controller: 'modalController',
})
};
ModalController(通用)
angular.module('app.controllers')
.controller("modalController", function($scope, $uibModalInstance) {
$scope.cancel = function () {
$uibModalInstance.dismiss('cancel');
};
});
Login.html
<form>
</form>
<a href="#" ng-click="showSignup()">Sign up</a>
点击注册后,我可以打开注册模式。这是 plunkr:http://plnkr.co/edit/mR3nXYo1rm4ey5Buc9Q0?p=preview
我的问题是,是否可以只交换模板?单击“注册”后,我想将模板从 register.html.
更改为
当然可以。只需使用
<div ng-if="model.modalType === 'login'">
<form>
</form>
<a href="#" ng-click="model.modalType = 'signup'">Sign up</a>
</div>
<div ng-if="model.modalType === 'signup'">
...
</div>
在你的控制器中:
$scope.model = {
modalType: 'login'
};
我打开这样一个模式:
<a href="#" ng-click="showLogin()">Sign in</a>
登录功能
$scope.showLogin= function() {
var modalInstance = $uibModal.open({
templateUrl: 'partials/login.html',
controller: 'modalController',
})
};
ModalController(通用)
angular.module('app.controllers')
.controller("modalController", function($scope, $uibModalInstance) {
$scope.cancel = function () {
$uibModalInstance.dismiss('cancel');
};
});
Login.html
<form>
</form>
<a href="#" ng-click="showSignup()">Sign up</a>
点击注册后,我可以打开注册模式。这是 plunkr:http://plnkr.co/edit/mR3nXYo1rm4ey5Buc9Q0?p=preview
我的问题是,是否可以只交换模板?单击“注册”后,我想将模板从 register.html.
更改为当然可以。只需使用
<div ng-if="model.modalType === 'login'">
<form>
</form>
<a href="#" ng-click="model.modalType = 'signup'">Sign up</a>
</div>
<div ng-if="model.modalType === 'signup'">
...
</div>
在你的控制器中:
$scope.model = {
modalType: 'login'
};