正在工作的: ng-options包含所有名称,并显示在下拉列表中。
问题:
“错误:$compile:nonassign表达式‘未定义’与指令'fileWidget‘一起使用是不可分配的!”发生了。
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>
有什么想法吗?
发布于 2015-05-08 19:27:56
为了拥有Select name...,需要有一个option元素:
<select class="form-control"
ng-options="elem.name for elem in data"
ng-model="selectedFile"
ng-change="onSelectionChange()">
<option value="">Select name...</option>
</select>您正在尝试分配给一个对象,这是不可分配的,这就是为什么您要获得non-assignable错误。需要有一个可以包含所选选项的值的变量,请尝试:
ng-model="selectedFile.name"https://stackoverflow.com/questions/30131356
复制相似问题