我正在尝试使用这样的输入类型搜索:
<input type="search" ng-model="main.toSearch" placeholder="Search..." class="search-input" onsearch="main.doSearch()"></input>
main是我的控制器(我将其声明为“MainController as main”)。对main.toSearch的绑定工作正常,但main.doSearch永远不会被调用。如果我把一些随机的javascript调用它,但它似乎找不到main。
任何人都可以解释我做错了什么吗?
由于
答案 0 :(得分:3)
onsearch="main.doSearch()"
看起来不正确。您需要使用angular指令来调用附加到范围的方法。
你有$scope.main.doSearch()
方法吗?如果要在用户按Enter键时调用该方法,可以将其放在<form>
元素中并使用ngSubmit
指令:
<form ng-submit="main.doSearch()">
<input type="search" ng-model="main.toSearch" placeholder="Search..." class="search-input"></input>
</form>
要使onsearch
起作用,main
必须是您应该避免的全局对象。
请看一下这支笔的例子: http://codepen.io/argelius/pen/ByyjKe