gpt4 book ai didi

javascript - 在AngularJS中的指令中使用服务函数

转载 作者:行者123 更新时间:2023-12-03 08:36:12 25 4
gpt4 key购买 nike

我想从指令的 Controller 调用服务函数。服务名称为Auth,函数名称为Auth.logout。我已经在指令的 Controller 中注入(inject)了服务但不起作用。请让我知道我应该做什么?该脚本是用 CoffeeScript 编写的。

指令代码:-

class GlobalNav extends BaseDirective
@register 'globalNav', ->
restrict: "E"
templateUrl: 'templates/Directives/global-nav.jade'

controller: ($scope, $ionicSideMenuDelegate, $ionicPopup,Auth) ->
$scope.closeSideMenu = ->
$ionicSideMenuDelegate.toggleLeft(false)
$scope.showConfirm = ->
confirmPopup = $ionicPopup.confirm(
title: 'Message'
template: 'Are you sure you want to logout?')
confirmPopup.then (res) ->
if res
Auth.logout <<<<<<<<<<<<<<<<<<<<< This is not called
return
return

验证服务代码:-

class Auth extends BaseService
@register 'Auth'

AUTH_KEY: 'userAuth'
AUTH_REJECTION: 'authentication'

constructor: (@$q, @$http, @$rootScope, @$cordovaFacebook, @storage, @Api, @$track, @FacebookAuth) ->

authenticated: -> !_.isEmpty(@_getAuth())

logout: ->
q = @$q.defer()
@storage.clearAll()
@_auth = null
@Api.expireGlobalCache()
@$cordovaFacebook.logout().then(q.resolve)
q.promise

最佳答案

转换为 JavaScript 后,结果表明您没有调用 Auth.logout(),而仅评估 Auth.logout(不应用 () 运算符)。

关于javascript - 在AngularJS中的指令中使用服务函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33207398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com