2016-01-11 180 views
0

我有一個小鈴鐺的網站,當有新的通知來臨時,@ notifications.lenght通過javascript傳遞以顯示通知數量。 什麼,我只是想爲顯示通知的號碼,如果有一個或多個通知,如果有證據顯示,就像這鈴聲沒有通知:咖啡腳本條件軌道

bell

實際上,如果用戶沒有通知的頁面顯示此:

Bell0

如果我按一下鈴鐺:

bell

女巫是好的,但是當我刷新頁面:

bell3

這裏是我的咖啡:

class Notifications 
    constructor: -> 
    @notifications = $("[data-behavior='notifications']") 
    @setup() if @notifications.length > 0 

    setup: -> 
    $("[data-behavior='notifications-link']").on "click", @handleClick 
    $.ajax(
     url: "/notifications.json" 
     dataType: "JSON" 
     method: "GET" 
     success: @handleSuccess 
    ) 

    handleClick: (e) => 
    $.ajax(
     url: "/notifications/mark_as_read" 
     dataType: "JSON" 
     method: "POST" 
     success: -> 
     $("[data-behavior='unread-count']").text("") 
    ) 



    handleSuccess: (data) => 

    items = $.map data, (notification) -> 
     "<a class='dropdown-item' href='#{notification.url}'>#{notification.actor} #{notification.action} </a>" 

    $("[data-behavior='unread-count']").text(items.length) 
    $("[data-behavior='notification-items']").html(items) 





jQuery -> 
    new Notifications 

我怎麼能忽略,如果@ notifications.lenght =空字符串= 0?

回答

1

在你的手柄成功方法,取代設定總項目代碼:

$("[data-behavior='unread-count']").text(parseInt(items.length) || ""); 

如果items.length0,它將設置爲空字符串。