In this plunk ich eine Angular UI Modal haben, die eine verwandte Klasse hat the-modal
die Höhe und die Breite zu setzen, werden sie zunächst auf 300px
und 500px
festgesetzt.Set Angular UI Modal Höhe und Breite programmatisch
Was ich brauche, ist die Höhe und die Breite programmgesteuert einzustellen, wenn das Modal geöffnet ist, sagen wir bei 100px
und 200px
.
Ich kann ng-class
nicht verwenden, wie ich möchte, dass der Benutzer die Höhe und Breite definieren kann. Zum Beispiel werden newHeight
und newWidth
unten aus einer Datenbank genommen und verwendet, um die modalen Dimensionen festzulegen. Irgendwelche Ideen, wie das funktioniert?
Javascript
var app = angular.module("app", ['ui.bootstrap']);
app.controller("ctl", function($scope,$uibModal) {
/*
* these values are taken from a database
* and should be used to set the height and width of the modal
*/
var newHeight = 100;
var newWidth = 200;
$scope.open = function() {
var modalInstance = $uibModal.open({
animation: false,
windowClass: 'the-modal',
templateUrl: 'myModalContent.html'
});
};
});
HTML
<style>
.the-modal .modal-content{
width:500px;
height:300px;
}
</style>
</head>
<body ng-app="app" ng-controller="ctl">
<script type="text/ng-template" id="myModalContent.html">
<p>Some content</p>
</script>
<button type="button" class="btn btn-default" ng-click="open()">Open me!</button>
</body>
'Ich möchte der Benutzer in der Lage sein, die Höhe zu definieren und width.' wie? – svarog
Die Höhe und Breite werden in einer Datenbank gespeichert. Wenn das Modal geladen wird, werden die Werte übernommen und gesetzt. Ich habe das Plunker angepasst, um klarer zu sein. – ps0604
Eine Sache, die Sie _could_ tun können, ist programmgesteuert ein style-Tag mit der Breite und Höhe zu generieren, und zuweisen Sie das modale eine Klasse, die Sie auch in das style-Tag einfügen. Dann musst du nur das Style-Tag auf dem Dom bereinigen, wenn sich das Modal schließt. – Seiyria