何が機能しているか:にng-options
はすべての名前が含まれており、ドロップダウン リストに表示されます。
問題:
- 最初に何も選択されていない場合、「名前を選択...」というテキストが表示されます。でも今は空いています。
- 多くの質問が寄せられていることは承知していますが、このケースでは解決策が見つかりませんでした。これらのオプションのいくつかを選択すると、エラー
「エラー: [$compile:nonassign] ディレクティブ 'fileWidget' で使用される式 'undefined' は割り当てられません!」発生しました。
GeometryService.js
angular.module('COMLEAMclient')
.factory('GeometryService', function($resource) {
var selectedGeometry = {name:'Select name...'};
}
FileWidgetDirective.js
angular.module('COMLEAMclient')
.directive('fileWidget', ['$log', '$parse', function($log, $parse) {
return {
scope: {
data: '=',
selectedFile: '=',
updateSelection: '&',
selected: '=',
onReadFile: '&',
},
....
}
)
}
InputController.js
<div file-widget data="iCtrl.geometryFiles" update-selection= "iCtrl.setSelectedGeometry(name)" selectedFile= "iCtrl.selectedGeometryFile" on-read-file="iCtrl.saveGeometryFiles(file,name)"></div>
FileWidget.html
<select class="form-control"
ng-options="elem.name for elem in data"
ng-model="selectedFile"
ng-change="onSelectionChange()">
</select>
何か案は?