2013-11-09 147 views
0

我使用基本的CRUD操作擴展了angular.dart.tutorial。因此,在新的edit_recipe_component.html中,我需要爲配方類別添加某種選擇輸入。什麼是在angular.dart中使用select指令的正確方法

目前我有

<select ng-model="ctrl.recipe.category"> 
    <option ng-repeat="c in ctrl.categories" value="{{c}}">{{c}}</option></select> 

完美的作品以及在表面上:我可以從列表中選擇類別,所選類別成功存儲模型等等。 但我得到的調試控制檯這些錯誤:

NoSuchMethodError : method not found: 'ngValue' 
Receiver: null 
Arguments: [] 

STACKTRACE: 
#0  Object.noSuchMethod (dart:core-patch/object_patch.dart:42) 
#1  _SingleSelectMode.onModelChange.<anonymous closure> (package:angular/directive/input_select.dart:185:78) 
#2  _SelectMode._forEachOption (package:angular/directive/input_select.dart:146:24) 
#3  _SingleSelectMode.onModelChange (package:angular/directive/input_select.dart:183:19) 

我做錯了嗎?

不幸的是APIDOCS to InputSelectDirective沒有使用部分

更新:基於這樣的問題是轉載 第6章樣品我創建github上的項目正是在這裏:https://github.com/vadimtsushko/angular_tutorial_chapter_06

一些調試顯示設置類別中編輯表單立即成功工作(爲了調試目的,我在食譜列表視圖中添加了類別)。 我離開編輯表單時出現錯誤。

+0

無法重現。爲我工作沒有這個錯誤。 –

+0

謝謝,我已經在github上發佈了示例再現錯誤。 –

回答

2

做一個小補丁上_SingleSelectModeinput_select.dart

onModelChange(value) { 
    var found = false; 
    _forEachOption((option, i) { 
     if (option == _unknownOption) return; 
     if (expando[option] == null) return; 
     var selected = value == null ? option == _nullOption : expando[option].ngValue == value; 
     found = found || selected; 
     option.selected = selected; 
    }); 
4

我認爲,這個問題已經修復了一段時間(因此不需要補丁),但在任何情況下,你還可以這樣用ng-value

<select ng-model="ctrl.recipe.category"> 
    <option ng-repeat="c in ctrl.categories" ng-value="c">{{c}}</option></select> 
相關問題