私のドロップダウンメニューに問題があります。私はそれがクリックで生成されるように設定しましたが、それは正常にレンダリングされません。添付の画像(http://imgur.com/a/0GiRZ)をご覧ください。ドロップダウンメニューを2回クリックして展開する必要があります。HTMLとAngularJSのドロップダウンレンダリングの問題
これは私のHTMLコードです:
<div class="form-group" ng-show="system.properties[0].value.target.connection.target_type === 'hive'">
<label class="col-sm-3 control-label" for="sdb">Database</label>
<div class="col-sm-7" >
<select class="form-control" ng-model="system.properties[0].value.target.connection.target_db" ng-click="db()">
<option ng-repeat="d in database" value={{d.name}}>{{d.name}}</option>
</select>
</div>
</div>
角度:
// Calls DB preview
$scope.db = function() {
systemFactory.getDB(dbParam).then(function successCallback (result) {
$scope.database = result.data.Data;
})
};
工場:
getDB: function(data) {
var settings = {
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json; charset=UTF-8'},
url: config.webserviceNonHTZ + "/getPreview",
withCredentials: true
};
私は、問題の原因となっているのかわからないのです - その私ができる唯一のことをng-clickを考えてみてください。私はng-changeを使ってみましたが、それでも問題は解決しませんでした。
ありがとうございました。
なぜ '$ scope.db'は関数で配列ですか? – tanmay
systemFactory.getDBメソッドを提供できますか? –
ありがとう@tanmay。私は彼らに両方とも$ scope.dbという名前が付いていたことに気づいていませんでした。結果の名前を$ scope.databaseに変更しました。 – Heather