我有一个小铃铛的网站,当有新的通知时,@ notifications.lenght会通过javascript传递,以显示通知的数量。 我只想要显示通知的数量,如果有一个或多个通知,如果没有通知只显示这样的铃声:
实际上,如果用户没有通知,页面会显示:
如果我点击铃声:
女巫很好,但是当我刷新页面时:
这是我的咖啡:
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?
,我怎么能传递一个空字符串?答案 0 :(得分:1)
在句柄成功方法中,将设置总项目的代码替换为:
$("[data-behavior='unread-count']").text(parseInt(items.length) || "");
如果items.length
为0
,则会设置一个空字符串。