如标题中所述,模态不会显示。
表单的内容是通过formly加载的,而模板的内容似乎是加载的,但是它只显示了非常薄的模式,带有覆盖层,但没有内容。
我有一个主控制器,其中:
$scope.add = function(){
$modal.open({
templateUrl: 'app/js/templates/popupAddCarForm.html',
controller: 'FormsController',
controllerAs: 'vm',
backdrop: 'static',
resolve: {
formData: function(){
return {
fields: getFormFields(),
model: {}
}
}
}
});
};
我的HTML是这样的:
<script type="text/ng-template" id="popupAddCarForm">
<div class="modal">
<div class="modal-dialog">
<div class="modal-header">
<h3 class="modal-title">Adauga masina</h3>
</div>
<div class="modal-body">
<form name="vm.addCarForm">
<formly-form model="vm.formData.model" fields="vm.formData.fields">
</formly-form>
</form>
</div>
<div class="modal-footer">
<button class="btn btn-default" type="submit" >Adauga</button>
</div>
</div>
</div>
我的表单控制器是这样的:
davidintercar.controller('FormsController',
function($modalInstance, formData) {
var vm = this;
//debugger;
vm.formData = formData;
vm.originalFields = angular.copy(vm.formData.fields);
}
);
结果是这样的:
之后编辑:
为了摆脱其他疑问,下面是演示中的代码:
app.controller('ModalInstanceCtrl', function ($modalInstance, formData) {
var vm = this;
debugger;
// function assignment
vm.ok = ok;
vm.cancel = cancel;
// variable assignment
vm.formData = formData;
vm.originalFields = angular.copy(vm.formData.fields);
// function definition
function ok() {
$modalInstance.close(vm.formData.model);
}
function cancel() {
$modalInstance.dismiss('cancel');
};
});
链接:angular-formly.com /#/ example / integrations / ui-bootstrap-modal
稍后,编辑:
柱塞:http://plnkr.co/edit/8wgL4t2oXsFFeLBKGGW8?p=preview
资料夹结构:
--app
----js
------controller
------services
------templates
------view
----app.js
intex.html
我的popupAddCarForm.html位于模板目录中,但是,如您在插件中所看到的那样,即使单独的模板文件,即使在同一目录中,它也不会呈现加载的内容。
最佳答案
模态模板不需要具有模态和模态对话框层-它们将由引导程序生成。
<script type="text/ng-template" id="popupAddCarForm.html">
<div class="modal-header">test
<h3 class="modal-title">Adauga masina</h3>
</div>
<div class="modal-body">
<form name="vm.addCarForm">
<formly-form model="vm.formData.model" fields="vm.formData.fields">
</formly-form>
</form>
</div>
<div class="modal-footer">
<button class="btn btn-default" type="submit" >Adauga</button>
</div>
</script>