首页 > 解决方案 > 数据未进入角度 6 中的常用函数

问题描述

我在名为“AuthService”的服务模块中创建了一种用于菜单访问检查的通用方法。它与 DataService 类中的服务相结合。所有组件中都包含通用菜单访问功能。但数据没有进入组件内部。在“AuthService”中我得到正确的数据。

AuthService 类

menuAccessCheck(currentRoute) {
    var dataObj = {
        menu_url : currentRoute
    };

    this.data.checkMenuAccess(dataObj)
      .subscribe(datas => {
        // console.log(datas.data.can_add);
                datas.data

        }
      );
  }

数据服务类

  checkMenuAccess(postData){
        this.ctrURL         =   API_URL+"menu/access/check";
        this.ajaxdata       =   postData;
        var localStore      =   JSON.parse(localStorage.getItem('currentUser'));
        headers.append("Authorization", "Bearer " + localStore.token);

        return this.http
            .post(this.ctrURL,JSON.stringify(this.ajaxdata),{ headers: headers })
            .pipe(map(data => { return data.json(); }));
    }

仪表板组件

ngOnInit() {
    this.auth.authCheck();
    var menuAccess = this.auth.menuAccessCheck(this.router.url);
    console.log("my value="+menuAccess);
  }

标签: angularangular6

解决方案


下面的代码可以帮助您访问数据。

menuAccessCheck(currentRoute) {
    var dataObj = {
        menu_url : currentRoute
    };

    return this.data.checkMenuAccess(dataObj);

  }



private menuAccess: any;

ngOnInit() {
    this.auth.authCheck();
    this.auth.menuAccessCheck(this.router.url).subscribe(datas => {
      this.menuAccess = datas;
    }); 
}

推荐阅读