函数的角度返回值

时间:2015-04-25 15:41:00

标签: javascript angularjs

我有一种奇怪的情况。 我有html的以下部分:

<div><span> {{ getTitle(story.date); }}</span> </div> 

现在这是控制器功能:

$scope.getTitle= function (storyDate) {
        var year = new Date(storyDate).getFullYear();
        if (!$scope.sectionTitleYear.contains(year)) {
            $scope.sectionTitleYear.push(year);
            return year;
        }
        else {
            return '';
        }
    };

这是sectionTitleYear

的声明
$scope.sectionTitleYear = [];

现在当我运行此代码时,返回值是正确的,但在html中我得到空字符串。 每当我删除推线代码。这段代码工作没问题。 这是我删除的推送行代码:

$scope.sectionTitleYear.push(year);

请告诉我该怎么做。

1 个答案:

答案 0 :(得分:0)

只有当年份不在$scope.sectionTitleYear时才返回年份,所以如果你删除这一行当然会有效 - 这会阻止年份被推送到数组。

如果你说删除这一行后代码正常工作,也许你应该总是返回年份,如下所示:

$scope.getTitle= function (storyDate) {
    var year = new Date(storyDate).getFullYear();
    if (!$scope.sectionTitleYear.contains(year)) {
        $scope.sectionTitleYear.push(year);
    }
    return year;
};