在我的搜索中添加功能,并在ng-app - angularjs之外选择过滤器

时间:2015-04-08 16:13:09

标签: angularjs

我的控制器中的指令只是包含来自我的api调用数据的列表项。 HTML的内容:

<div ng-app="WWnetworkEvents"> 
<ul ng-controller ="networkEventsCtrl">
    <networkevent-directive></networkevent-directive>
</ul>

这是我的指令html:

<li ng-repeat="event in events | filter:queryevents | orderBy:orderProp" > 
<h2>{{event.title}}</h2>
    <ul>
        <li>Posted on:{{event.date | myDateFormat }}</li>
        <li>Tickets available:{{event.tickets}}</li>
        <li>Details:{{event.body}}</li>
    </ul>
</li>

在我的WWnetworkEvents模块之外,我有以下搜索和过滤器选项,但我不知道如果它们在我的ng-app之外我将如何绑定它们:

<h2>Search Events</h2>
<input type="search" ng-model="queryevents">
<h2>Filter Events</h2>
<select class="form-control" ng-model="orderProp">
    <option value="title">Alphabetical</option>
    <option value="-date" >Newest</option>
    <option value="date" >Oldest</option>
    <option value="-tickets">Tickets Left</option>
</select>

2 个答案:

答案 0 :(得分:0)

我相信有两种方法可以处理你的情况。

  1. 使用ng-repeat外部指令。 这可能需要一些工作才能让一切恢复正常。

  2. 使用$broadcast' or $ emit&#39;使您的指令了解ng-model="queryevents"ng-model="orderProp"上的更改。一旦您的指令知道了更改,您就可以使用控制器中的$filter来过滤所需的数据。

答案 1 :(得分:0)

我最终使用了ng-modules。你可以通过运行:

来安装它
bower install ng-module

此处有更多信息:https://github.com/luisperezphd/ngModule