所以我正在研究Angular中的弹性搜索实现。到目前为止这么好,但我遇到了一个奇怪的情况。每个结果都有一个可由用户生成的关联标签。
这是我的表格&输入:
<form ng-submit="search($event)" class="queryBuilder ng-pristine ng-valid">
<input type="text" ng-model="searchQuery" class="ng-pristine ng-untouched ng-valid">
</form>
结果显示正常,标签也是如此。当我点击标签时,问题就出现了。最初,问题是在重复内部时,他们无法访问上述searchQuery
模型,因此我只是将其更改为目标$parent.searchQuery
,但只要我这样做就可以解决这个问题表达式item.tag
不再起作用。现在它输出实际的花括号和所有。
<button ng-repeat="item in items" ng-click="$parent.searchQuery = $parent.searchQuery + ' {{item.tag}}'; search();" class="tag ng-binding ng-scope">Tag Name</button>
我是Angular的新手,已经使用了jQuery十亿年,所以如果我错过了一些非常基本的东西,我会提前道歉。我一直在搜索并找到范围相关的材料,但不能找到ng-repeat
与目标父范围发生冲突的表达式。有什么想法吗?提前谢谢!
答案 0 :(得分:0)
您可以在控制器上创建一个方法:
$scope.clickItem = function(item){
$scope.searchQuery += ' ' + item.category;
$scope.search();
};
查看:
<button ng-repeat="item in items" ng-click="clickItem(item)" class="tag">foundation</button>