工作原理:包含ng-options
所有名称,并显示在下拉列表中。
问题:
- 在开始时,如果没有选择任何内容,则应显示文本“选择名称...”。但它现在是空的。
- 我知道它被问了很多,但我没有找到这个案例的解决方案。如果我将选择其中一些选项,则错误
“错误:[$compile:nonassign] 与指令 'fileWidget' 一起使用的表达式 'undefined' 是不可分配的!” 发生。
几何服务.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: '&',
},
....
}
)
}
输入控制器.js
<div file-widget data="iCtrl.geometryFiles" update-selection= "iCtrl.setSelectedGeometry(name)" selectedFile= "iCtrl.selectedGeometryFile" on-read-file="iCtrl.saveGeometryFiles(file,name)"></div>
文件小部件.html
<select class="form-control"
ng-options="elem.name for elem in data"
ng-model="selectedFile"
ng-change="onSelectionChange()">
</select>
有任何想法吗?