我刚开始在一个项目中使用 Angular。
我正在使用“angular-google-maps”在页面上获取谷歌地图,在这张地图上我有标记。我已经成功地捕捉到了标记上的点击事件。但是,当单击标记时,我需要更新过滤后的 ul。过滤器由表单控制。
起初我尝试使用 JS 更改表单中输入字段的值,希望 Angular 能够通过 onchange 事件进行检测。它没有。所以我做了一些谷歌搜索,发现我需要更改范围内的模型。所以我就这么做了。$scope.search.$ = marker.name;
它现在可以工作,但只有在您首先手动在字段中输入内容之后。我需要这个“单击标记以更新过滤器”功能在页面加载后直接工作。$scope.search.$ = marker.name;
在输入字段之前尝试更改时,我从控制台收到此错误:Uncaught TypeError: Cannot set property '$' of undefined
有没有人知道如何解决这个问题?
提前致谢!
编辑:
通过放置解决了它
$scope.search = {
$: null
};
在我的控制器里面。似乎只有在编辑表单时,模型才被 Angular 置于范围内,此时模型仅在此处使用<input ng-model="search.$" id="search-field" type="text" name="search-filter" placeholder="Sök i fritext" autofocus>
...