プロジェクトのためにAngularをいじり始めたところです。
「angular-google-maps」を使用してページに Google マップを表示しています。このマップにはマーカーがあります。マーカーのクリック イベントをキャッチすることに成功しました。ただし、マーカーがクリックされると、フィルターされた ul を更新する必要があります。フィルターはフォームによって制御されます。
最初は、Angular が onchange イベントを介して検出することを期待して、フォームの入力フィールドの値を JS で変更しようとしました。そうではありませんでした。そこで、グーグルで調べたところ、スコープ内のモデルを変更する必要があることがわかりました。だから私はそれをしました。$scope.search.$ = marker.name;
現在は機能しますが、最初にフィールドに手で何かを入力した後でのみ機能します。ページの読み込み直後に機能するには、この「マーカーをクリックしてフィルターを更新する」機能が必要です。$scope.search.$ = marker.name;
フィールドに入力する前に変更しようとすると、コンソールから次のエラーが表示されUncaught TypeError: Cannot set property '$' of undefined
ます。
前もって感謝します!
編集:
置くことで解決しました
$scope.search = {
$: null
};
私のコントローラーの中に。モデルが Angular を使用してのみ定義されている場合、フォームが編集されるまで、モデルは Angular によってスコープに入れられないよう<input ng-model="search.$" id="search-field" type="text" name="search-filter" placeholder="Sök i fritext" autofocus>
です...