我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.
我使用以下方法创建了一个基本的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
我附上了一张图片。我面临的问题是获取同一类的第一个元素。我正在尝试获取
.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"> ← ?????? </a>
<br />
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我编写了以下代码来废弃网站上的数据.
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的新手,因此无法根据我的场景找到合适的解决方案.
提前致谢!
假设我有一个变量,例如:
var vendors = [
{
Name: 'Magenic',
ID: 'ABC'
},
{
Name: 'Microsoft',
ID: 'DEF'
}
];
var v1 = {
Name: 'Magenic',
ID: 'ABC'
};
Run Code Online (Sandbox Code Playgroud)
当我运行以下代码来使用indexOf进行搜索时v1,vendors它总是返回-1
console.log(vendors.indexOf(v1));
Run Code Online (Sandbox Code Playgroud)
即使v1存在于vendors数组中,它也会返回 -1。使用js在对象数组中查找对象索引的正确方法是什么?
我可以使用循环,但成本很高:(
假设我有两个数组:
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不受阻.我怎样才能做到这一点?
angular ×2
arrays ×2
scrapy ×2
css ×1
ecmascript-6 ×1
javascript ×1
json ×1
lodash ×1
nativescript ×1
object ×1
python ×1
python-3.x ×1
ruby ×1