Angularjs 无法使angular formly在angular ui引导模式的ng模板中工作
我使用angular formly在angular ui引导模式内构建表单,当表单放置在模式模板外时,以下代码可以工作,但当表单放置在ng模板内时,它不能工作,它根本不打印字段 我相信这应该是可行的,但我不知道angular formly的生命周期是如何运行的,所以我无法确定如何使字段显示在我的引导模式模板中 这个问题显然与ng模板有关,即使正确传递了fields数组,它似乎也不会呈现表单Angularjs 无法使angular formly在angular ui引导模式的ng模板中工作,angularjs,angular-ui-bootstrap,angular-formly,angular-template,Angularjs,Angular Ui Bootstrap,Angular Formly,Angular Template,我使用angular formly在angular ui引导模式内构建表单,当表单放置在模式模板外时,以下代码可以工作,但当表单放置在ng模板内时,它不能工作,它根本不打印字段 我相信这应该是可行的,但我不知道angular formly的生命周期是如何运行的,所以我无法确定如何使字段显示在我的引导模式模板中 这个问题显然与ng模板有关,即使正确传递了fields数组,它似乎也不会呈现表单 var app = angular.module("demo", ['dndLists', 'ui.boo
var app = angular.module("demo", ['dndLists', 'ui.bootstrap', 'formly', 'formlyBootstrap']);
app.controller('ModalInstanceCtrl', function ($scope, $uibModalInstance, items, User) {
var vm = this;
vm.loadingData = User.getUserData().then(function(result) {
vm.model = result[0];
vm.fields = result[1];
vm.originalFields = angular.copy(vm.fields);
console.log(vm);
});
});
app.controller("AdvancedDemoController", function($scope, $uibModal){
$scope.modalOpen = function(event, index, item){
var modalInstance = $uibModal.open({
animation: true,
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
size: 'md',
resolve: {
items: function () {
return $scope.items;
}
}
});
modalInstance.result.then(function (selectedItem) {
$scope.selected = selectedItem;
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
};
});
我认为:
<!-- Template for a modal -->
<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header">
<h3 class="modal-title">I'm a modal!</h3>
</div>
<div class="modal-body">
<div ng-if="vm.loadingData.$$state.status === 0" style="margin:20px 0;font-size:2em">
<strong>Loading...</strong>
</div>
<div ng-if="vm.loadingData.$$status.state !== 0">
<form ng-submit="vm.onSubmit()" novalidate>
<formly-form model="vm.model" fields="vm.fields" form="vm.form">
<button type="submit" class="btn btn-primary submit-button">Submit</button>
</formly-form>
</form>
</div>
<ul>
<li ng-repeat="item in items">
<a href="#" ng-click="$event.preventDefault(); selected.item = item">{{ item }}</a>
</li>
</ul>
Selected: <b>{{ selected.item }}</b>
</div>
</script>
我是模态的!
加载…
提交
-
选定:{{Selected.item}
有什么想法吗?当调用
$uibModal.open
时,您需要指定controllerAs:'vm'
(这就是您的模板假设控制器的定义)。您将ModalInstanceCtrl
视为使用controllerAs
(因为你在模板中使用了vm
,但它不是。确保你使用的是controllerAs
,我实际上使用的是
,这不是取代了controllerAs
?好的,解决了!你完全正确,我添加了controllerAs
,它成功了!请回答问题,我将它标记为th。)e解决方案。非常感谢。