Angularjs ng模型在select指令中不起作用
工作原理:Angularjs ng模型在select指令中不起作用,angularjs,angularjs-directive,angularjs-model,Angularjs,Angularjs Directive,Angularjs Model,工作原理:ng选项包含所有名称,并显示在下拉列表中 问题: 开始时,如果未选择任何内容,则应显示文本“选择名称…”。但它现在是空的 我知道有人问了很多问题,但我没有找到解决这个问题的办法。 如果我选择其中一些选项,则会显示错误 错误:[$compile:nonassign]表达式“undefined”与一起使用 发生指令“fileWidget”不可分配 GeometryService.js angular.module('COMLEAMclient') .factory('GeometrySer
ng选项
包含所有名称,并显示在下拉列表中
问题:
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>
有什么想法吗?为了让
选择名称…
您需要一个选项元素:
<select class="form-control"
ng-options="elem.name for elem in data"
ng-model="selectedFile"
ng-change="onSelectionChange()">
<option value="">Select name...</option>
</select>
我储存了我的代码以选择名称。。。但还是一样的例外。可能不止这些。@MarcelTinner可能selectedFile.name
也是不可分配的。您可以共享该obj吗?它应该在GeometryService.js-->var selectedGeometry={name:'Select name…}中打开;我不建议直接从视图绑定到服务变量。把它放在控制器的某个地方。现在看起来您的变量是GeometryService的私有变量。
ng-model="selectedFile.name"