ngRepeat with filter不显示新添加的数据

时间:2015-05-12 16:30:52

标签: angularjs angularjs-ng-repeat angularjs-filter

我有一个包含主题列表的表:第一列包含主题名称,第二列包含将gradesCtrl.topic设置为所选主题的按钮:

DECLARE @n INT = 4;

SELECT  TOP 1 
        FirstDate = t.FileDate,
        FourDaySum = t2.Amount
FROM    dbo.T
        CROSS APPLY
        (   SELECT  Amount = SUM(t2.SumAmount), 
                    Dates = COUNT(DISTINCT t2.FileDate)
            FROM    dbo.T AS t2
            WHERE   t2.FileDate >= t.FileDate
            AND     t2.FileDate < DATEADD(DAY, @n, t.FileDate)
        ) AS t2
WHERE   t2.Dates = @n
ORDER BY t2.Amount DESC;
来自控制器的

“show_grades”函数:

<tr ng-repeat="topic in gratesCtrl.topics_list">
     <td>{{topic.name}}</td>
     <td><i class="fa fa-leanpub" ngclick="gradesCtrl.show_grades(topic)"></i></td>                   
</tr>

根据选定的主题,我正在使用ngRepeat创建一个表,其中包含来自控制器的数据:

vm.show_grades = function(topic){
    vm.selected_topic = topic._id;
};

在控制器中我向child_grades添加一个新等级:

<tr ng-repeat="grade in gradesCtrl.child_grades | filter: gradesCtrl.selected_topic">
      <td>{{grade.value}}</td>
      <td>{{grade.data_string}}</td>
      <td>{{grade.observations}}</td>
</tr>

当我将新等级添加到child_grades时,等级表将不会更新,并且当我使用过滤器时它不包含新等级,但是当我不使用过滤器时,它可以正常工作。将新成绩添加到child_grades后,如果我检查child_grades,则它包含新成绩。我必须提到首次加载页面时过滤是有效的。如何使表格显示新添加的文档?

0 个答案:

没有答案