AngularJS:$cookies.remove不是函数

AngularJS:$cookies.remove不是函数,angularjs,cookies,angular-cookies,Angularjs,Cookies,Angular Cookies,在尝试清除应用程序中的cookies时,出现错误-“$cookies.remove不是函数”。据我所知,我正在遵循angular docs所说的,以及在这个论坛上所说的删除cookie的内容 这是我处理这件事的服务 app.service('authService', function ($cookies) { this.SetUsername = function (username) { $cookies.username = username; }

在尝试清除应用程序中的cookies时,出现错误-“$cookies.remove不是函数”。据我所知,我正在遵循angular docs所说的,以及在这个论坛上所说的删除cookie的内容

这是我处理这件事的服务

app.service('authService', function ($cookies) {

    this.SetUsername = function (username) {
        $cookies.username = username;
    }

    this.GetUsername = function () {
        return $cookies.username;
    }

    this.clearCookie = function(){
        $cookies.remove("username");

    }

});

get和set函数都工作正常,只是在调用clear cookie函数时实际尝试删除cookie时,我才发现这个问题。

首先,您使用的是Angular.js的哪个版本?在我看来,您使用的是1.3.x,这意味着$cookies实际上来自ngCookies插件。在这种情况下,$cookies只不过是一个简单的对象,其中写入将创建一个新的cookie值。要直接引用1.3.x ngCookie文件中的

通过添加或删除属性,仅显示简单对象 对于此对象,将在结束时创建/删除新Cookie 当前$eval。对象的属性只能是字符串

需要安装ngCookies模块


如果您使用的是1.4.x及更高版本,您的实现实际上是正确的。

在页面中包含angular cookies文件

角度cookies文件:-

<script src="https://code.angularjs.org/1.4.4/angular-cookies.js"></script>

注销时尝试此操作,它将一次清除所有cookie

app.controller('controllername', function ($cookies) {
    $cookies.remove();})

控制台日志($cookies)?是否有。删除方法?是否安装了角cookie?您是否将NgCookie添加到应用程序模块的依赖项中?使用
console.dir($cookies)
以获取对象的内容。是否定义了删除函数?您必须打开浏览器的控制台(F12?)才能查看输出。是否包含angular-cookies.js?当我在控制台中输入$cookies时,它说$cookies没有定义,但我不知道怎么会是这样,因为我使用它存储值很好,而且它没有抛出错误?它被添加到我的模块中。而且它被正确地包括在内。我通过使用delete$cookies[“username”]成功地实现了这一点,但我不确定为什么这个方法有效,而另一个方法无效。您好,我使用的是angular的v1.3.15。我认为.remove的目的是删除cookie中的一个属性。正如我在上面的回复中所说,我通过使用“delete$cookies[“username”];”成功地实现了这一点相反,您的假设是正确的,但是.remove方法仅在1.4.x及更高版本中可用。angular的API文档有时很难实现这一点,但在左上角的文档中有一个API版本选择器。如果你选择1.3,它会显示出来。啊,好的,对不起,我应该意识到你的意思是从你最初的帖子。以后在阅读文档时,我会更加关注所列的angular版本,请补充说明。