小编Emu*_*Emu的帖子

Angular2:防止经过身份验证的用户访问特定路由

routes在我的main.ts文件中定义了一些:

const routes: RouterConfig = [
  { path: '', component: HomeComponent },
  { path: '', redirectTo: 'home', terminal: true },
  { path: 'dashboard', component: DashboardComponent, canActivate: [LoggedInGuard] },
  { path: 'login', component: LoginComponent },
  { path: 'about', component: AboutComponent } 
];
Run Code Online (Sandbox Code Playgroud)

成功登录后,我希望我的经过身份验证的用户可以使用特定路由(例如dashboard).没有登录他们无法访问,dashboard但他们可以访问about,home,login

我设法限制用户遍历dashboard无登录,使用CanActivate.

canActivate(): boolean {
    if (this.authService.isLoggedIn()) {
      return true; 
    }
    this.router.navigateByUrl('/login');
    return false;
  }
Run Code Online (Sandbox Code Playgroud)

但是CanActivate在成功登录后使用这些路线和方法,用户也可以转到像login,等路线home.我怎么能防止这种情况?

NB我正在使用angular2 RC4.

angular2-routing angular

14
推荐指数
2
解决办法
6962
查看次数

将Angular2材质添加到Nativescript

我使用以下方法创建了一个基本的Nativescript应用程序: tns create my-project-name --template nativescript-angular-drawer-template

现在,我想添加Material Design到我的应用程序.根据文档我运行命令npm install --save @angular/material并根据文档添加MaterialModule.但我的应用程序给出了错误

找到模块功能时出错

任何的想法?

material-design nativescript angular-material2 angular2-nativescript angular

5
推荐指数
1
解决办法
5976
查看次数

scrapy 获取同一类的第 n 个子文本

我附上了一张图片。我面临的问题是获取同一类的第一个元素。我正在尝试获取 .adxHeader> .adxExtraInfo (1st one)> .adxExtraInfoPart (1st one)>a::text

我写了以下代码但没有工作。任何的想法?

response.css('div.adxViewContainer div.adxHeader div.adxExtraInfo:nth-child(1) div.adxExtraInfoPart:nth-child(1) a::text').extract_first()

预期输出: ??????

在此处输入图片说明

在此处输入图片说明

<div class="adxHeader">
        <h3 itemprop="name"> »  ??? ????? ?????? ???? ?? ????????</h3>

                            <div class="adxExtraInfo">
                                <div class="adxExtraInfoPart"><a href="/city/??????"><i class="fa fa-map-marker"></i> ??????</a></div>
                                <div class="adxExtraInfoPart"><a href="/users/??? ????"><i class="fa fa-user"></i> ??? ????</a></div>
                            </div>

                            <div class="adxExtraInfo">
                                <div class="adxExtraInfoPart"> ???  ???? ? 27 ?????</div>
                                <div class="adxExtraInfoPart">#20467014</div>
                            </div>
                            <div class="moveLeft">


                                <a href="www.google.com" class="nextad"> &#8592; ??????      </a>
                                          <br />

                            </div>

        </div>
Run Code Online (Sandbox Code Playgroud)

css scrapy python-3.x

3
推荐指数
1
解决办法
4207
查看次数

Scrapy json响应转换为utf-8编码

我编写了以下代码来废弃网站上的数据.

import scrapy
from porua_scrapper.items import Category
from porua_scrapper.config import SITE_URL


class CategoriesSpider(scrapy.Spider):
    name = "categories"
    start_urls = []
    for I in range(2):
        url = SITE_URL + "book/categories?page=" + str(I+1)
        start_urls.append(url)

    print(start_urls)


    def parse(self, response):
        # print(response.css('ul.categoryList li div.pFIrstCatCaroItem a').extract_first())

        for category in response.css('ul.categoryList li'):
            categoryObj = Category()

            categoryObj['name'] = category.css('div.bookSubjectCaption h2::text').extract_first()
            categoryObj['url'] = category.css('a::attr(href)').extract_first()

            yield categoryObj
Run Code Online (Sandbox Code Playgroud)

当我运行命令时,scrapy crawl categories -o categories.json它将创建一个包含所需输出格式的categories.json文件.但问题是我的一些内容包含bengali文字.因此,在生成的输出文件中我得到了如下响应:

{"url": "/book/category/271/\u09a8\u09be\u099f\u0995", "name": "\u09a8\u09be\u099f\u0995"}

我该如何对内容进行编码utf-8?由于我是scrapy的新手,因此无法根据我的场景找到合适的解决方案.

提前致谢!

python json scrapy scrapy-spider

2
推荐指数
2
解决办法
3282
查看次数

检查哈希数组是否包含哈希

假设我有一个变量,例如:

var vendors = [
    {
      Name: 'Magenic',
      ID: 'ABC'
     },
    {
      Name: 'Microsoft',
      ID: 'DEF'
    }
];

var v1 = {
      Name: 'Magenic',
      ID: 'ABC'
     };
Run Code Online (Sandbox Code Playgroud)

当我运行以下代码来使用indexOf进行搜索时v1vendors总是返回-1

console.log(vendors.indexOf(v1));
Run Code Online (Sandbox Code Playgroud)

即使v1存在于vendors数组中,它也会返回 -1。使用js在对象数组中查找对象索引的正确方法是什么?

我可以使用循环,但成本很高:(

javascript arrays object ecmascript-6 lodash

1
推荐指数
1
解决办法
3470
查看次数

将数组值插入另一个数组的随机位置

假设我有两个数组:

a = ["Fruit", "Emu", "Color"]
b = ["Banana", "Name", "Orange"]
Run Code Online (Sandbox Code Playgroud)

我想将b数组值插入到随机位置a.这两个数组的可能输出是:

c = ["Banana", "Fruit", "Emu", "Color", "Orange", "Name"]
Run Code Online (Sandbox Code Playgroud)

这里,b数组值被插入a,但值序列

"Fruit"→交通"Emu"→交通"Color"

a不受阻.我怎样才能做到这一点?

ruby arrays

0
推荐指数
1
解决办法
803
查看次数