0

基本的な CRUD 操作で angular.dart.tutorial を拡張します。そのため、新しい edit_recipe_component.html では、レシピ カテゴリ用にある種の選択入力を追加する必要があります。

現在、私は持っています

<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 から InputSelectDirective への使用セクションはありません

更新: 問題が再現された第 6 章のサンプルに基づいて github プロジェクトを作成しました

一部のデバッグでは、編集フォームでのカテゴリの設定がすぐに正常に機能することが示されています (デバッグ目的でレシピ リスト ビューにカテゴリを追加しました)。編集フォームを離れるときに発生するエラー。

4

2 に答える 2

4

この問題はしばらくの間修正されていると思います (したがって、パッチは必要ありません) が、いずれにせよ、以下も使用できますng-value

<select ng-model="ctrl.recipe.category">
   <option ng-repeat="c in ctrl.categories" ng-value="c">{{c}}</option></select>
于 2014-04-01T18:14:12.447 に答える
2

input_select.dart_SingleSelectModeのクラスに小さなパッチを適用します

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;
    });
于 2013-12-15T03:18:43.040 に答える