状況:
私は ui-select を使用しなければならない角度のあるアプリを作成しています: ユーザー情報ページで、選択で 1 つまたは複数のタグを選択できるようにする必要があります。既存のタグを取得して表示するのに問題があるという事実を除けば、ほとんど機能しています。
コード:
意見:
<ui-select multiple ng-model="info_data.tags" theme="bootstrap" ng-disabled="disabled">
<ui-select-match placeholder="Select tag...">{{$item.name}} </ui-select-match>
<ui-select-choices repeat="tag in all_tags | propsFilter: {name: $select.search}">
{{tag.name}}
</ui-select-choices>
</ui-select>
<p>Selected: {{info_data.tags}}</p>
コントローラ:
$http({
url: base_url + 'main/db_get_all_tags',
method: "POST",
}).success(function (data) {
$scope.all_tags = data;
});
$scope.show_info = function() {
var result_info = DbService.get_info( $stateParams.db_data_id );
result_info.then( function( data )
{
$scope.info_data = data;
});
};
試行 1:
非常に奇妙な動作が発生します。ユーザーの情報ページにタグが表示されず、ui-select にも表示されません。5/6 回更新する場合を除いて、突然魔法のように機能し、ユーザー情報ページと ui-select にタグが表示されます。どちらの場合も、機能していても機能していなくても、同じ種類のエラーメッセージがいくつか表示されます。
未定義のプロパティ '長さ' を読み取ることができません。
試行 2:
この問題を解決するために、コントローラーに次のコードを追加しました。
$scope.info_data = { tags: [] };
$scope. all_tags = [];
そして、エラーメッセージはもう表示されません。アプリは安定しており、ユーザー情報ページに適切なタグが表示されます。唯一の問題は、タグが ui-select に読み込まれないことです。
新しいタグを選択すると正常に動作しますが、既存のタグが失われます。
質問:
ui-select を適切に機能させるにはどうすればよいですか? (現在 v0.8.3) コンフリクトの問題はありますか?
サーバーから既存のデータを正しく呼び出すにはどうすればよいですか?
どうもありがとうございました!