0

プロジェクトのために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>です...

4

0 に答える 0