我使用角度和引导ui
使用此模态窗口<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header">
<h3 class="modal-title">Cambia Palmare {{descPalmare}} ( {{descProgetto}} )</h3>
</div>
<div class="modal-body">
<ul>
<li >
<select id="soluzioneDlg" name="soluzioneDlg"
class="required"
ng-options="soluzione.id as soluzione.denominazione for soluzione in soluzioni"
ng-model="soluzioneCorrente"
ng-change="filtroSoluzione()"></select>
</li>
<select id="progettoDlg" name="progettoDlg"
class="required"
ng-options="progetto.id as progetto.denominazione for progetto in progetti"
ng-model="progettoCorrente"></select>
<li>
</li>
</ul>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">OK</button>
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>
</script>
我正确打开对话框并正确填写了soluzioneDlg选项 更改选择后,将正确调用filtroSoluzione方法,但使用ng-model绑定的范围变量未定义。
$scope.filtroSoluzione = () => {
alert($scope.soluzioneCorrente);
var progettoPromise = progetti.progettiSoluzione($scope.soluzioneCorrente);
progettoPromise.then(function (progetti: Factories.Progetto[]) {
$scope.progetti = progetti;
},
function (reason) {
alert('errore in recupero lista dispositivi: ' + reason);
}, function (update) {
alert('Got notification: ' + update);
});
}
我错过了什么吗?我在其他页面中使用此代码并且工作正常
谢谢,
卢卡
这是调用$ modal.open
的角度代码 // cambia assegnazione, apro la finestra di assegnazione
$scope.cambiaAssegnazione = (palmare: number) => {
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: assegnaDispIspettoreDialog,
size: '(large)',
resolve: {
palmareDaAggiornare: function () {
return palmare;
},
dispositivi: function () {
return dispositivi;
},
soluzioni: function () {
return soluzioni;
},
progetti: function () {
return progetti;
}
}
});
modalInstance.result.then(function (selectedItem) {
$scope.selectedItem = selectedItem;
}, function () {
alert('Modal dismissed at: ' + new Date());
});
}
当我单击列表中的链接时,mg_chnage更改了打开对话框的代码:在解析中我发送了我创建的一些服务的引用,因为我必须在模式对话框中填充列表框。
正确处理 descPalmare , descProgetto 和 soluzioni 范围属性:唯一的问题出在 soluzioneCorrente 成员
我在这里创建了完整的复制品:
http://plnkr.co/edit/G8qygJWkYCqiYZK5FcgN
答案 0 :(得分:0)
模态使用子范围,请参阅Understanding Scopes in the Angular.js Wiki。尝试将页面和模式中的ng-model更改为model.soluzioneCorrente
,并将scope
的{{1}}属性设置为当前$modal.open
。