当我用tsc编译我的应用程序时,我收到此错误TS2345:
error TS2345:
Argument of type '{ selector: string; template: string; directives: (typeof Title | any[])[]; providers: typeof Goo...' is not assignable to parameter of type 'ComponentMetadataType'.
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import { Component, Input } from "@angular/core";
import { Title } from "./components/title";
import { Timeline } from "./components/timeline";
@Component({
selector: "edu",
template: `
<div id="Edu" class="Edu content section scrollspy">
<title [icon]="titleIcon" [title]="titleTitle"></title>
<timeline [data]="edu"></timeline>
</div>
`,
directives: [Title, Timeline]
})
export class Edu {
private titleIcon = "graduation-cap";
private titleTitle = …Run Code Online (Sandbox Code Playgroud) 在Android中,共享元素转换允许两个页面中存在的两个完全相同的元素在转换页面时链接在一起,就像下面显示的gif中的专辑封面一样:
我想知道是否有可能在类之间使用ReactJS实现相同类型的转换.如果是这样,任何例子?如果没有,用jQuery怎么样?
我正在尝试获取我当前登录的网站用户的令牌.但是,javascript无法为我获得价值.我认为这里有两个问题:
当我在启动时收到Auth.currentUser时,我收到"TypeError:无法读取属性'getToken'为null"的错误.但是当我在控制台中键入Auth.currentUser.getToken()时,带有令牌的对象实际显示出来.
getToken()返回给我的是一个promise对象,其键'ea'包含令牌的值.但是当我做Auth.currentUser.getToken()时,它会让我'空'.如何直接从对象中检索令牌?
谢谢!
我检索令牌的代码:
var Auth = firebase.auth()
var token = Auth.currentUser.getToken()
Run Code Online (Sandbox Code Playgroud)
我创建了这个过滤器来转换userID为用户名:
angular.module('idToName', ['userService'])
.filter('idToName', function(User) {
User.allUsers()
.success(function(data) {
userData = data;
});
var assignee;
return function(IDs) {
for (var j = 0; j < userData.length; i++) {
for (var i = 0; i < IDs.length; j++){
if (IDs[i] == userData[j]._id) {
assignee[i] = userData[j].firstname + ' ' + userData[j].lastname + ' ' + userData[j].cname;
}
}
}
return assignee;
}
})
Run Code Online (Sandbox Code Playgroud)
它接受一个数组userIDs,它应该找到相应的userData对象并返回它的名字.
但是当我运行它时,它会收到此错误:
Error: $injector:unpr
Unknown Provider
Unknown provider: idToNameFilterProvider
Run Code Online (Sandbox Code Playgroud)
那我做错了什么?我将不胜感激任何帮助.
当我从github将我的应用程序部署到Heroku时,在我的Heroku仪表板上,它说我的应用程序已成功部署.但是,当我查看我的应用程序时,它说应用程序错误.
所以这是我的日志:
2015-09-09T05:54:41.566570+00:00 heroku[web.1]: State changed from starting to crashed
2015-09-09T05:54:41.566570+00:00 heroku[web.1]: State changed from crashed to starting
2015-09-09T05:54:41.542661+00:00 heroku[web.1]: Process exited with status 1
2015-09-09T05:54:43.511445+00:00 heroku[web.1]: Starting process with command `npm start`
2015-09-09T05:54:45.973805+00:00 app[web.1]:
2015-09-09T05:54:45.973825+00:00 app[web.1]: > mark-wen-home@1.0.0 start /app
2015-09-09T05:54:45.973828+00:00 app[web.1]: > node server.js
2015-09-09T05:54:45.973829+00:00 app[web.1]:
2015-09-09T05:54:46.306616+00:00 app[web.1]: events.js:85
2015-09-09T05:54:46.306620+00:00 app[web.1]: throw er; // Unhandled 'error' event
2015-09-09T05:54:46.306621+00:00 app[web.1]: ^
2015-09-09T05:54:46.306623+00:00 app[web.1]: Error: listen EACCES
2015-09-09T05:54:46.306624+00:00 app[web.1]: at exports._errnoException (util.js:746:11)
2015-09-09T05:54:46.306625+00:00 app[web.1]: at Server._listen2 (net.js:1139:19)
2015-09-09T05:54:46.306626+00:00 app[web.1]: at …Run Code Online (Sandbox Code Playgroud) 我的服务器有一个注册 api,在注册后提供令牌,以及一个验证用户令牌的中间件。我需要注册一个帐户才能获取令牌才能对我的服务器执行其他操作。但是,中间件阻止了我的网络请求,因为我还没有令牌。
那么在这种情况下我该如何创建我的帐户和令牌呢?通过一些技巧来绕过中间件?
中间件:
// Middleware to verify token, it will be called everytime a request is sent to API
api.use((req, res, next)=> {
var token = req.headers.token
if (token) {
jwt.verify(token, secret, (err, decoded)=> {
if (err) {
res.status(403).send({ success: false, message: "Failed to authenticate user." })
} else {
req.decoded = decoded
next()
}
})
} else {
res.status(403).send({ success: false, message: "No Token Provided." })
}
})
Run Code Online (Sandbox Code Playgroud)
登入:
// Sign In with email API
api.post('/signInWithEmail', (req, res)=> …Run Code Online (Sandbox Code Playgroud) 我试图在我的React.js组件的componentWillMount()中使用此函数.但是浏览器说window.decodeURIComponent(...)不是一个函数,我不明白.任何人都可以告诉我如何让它工作?谢谢
export const getUrlQuery = window => {
let queryDict = {}
if (window.location.search) {
window.location.search.substr(1).split("&").forEach((item) => {
let s = item.split("=")
let key = s[0]
let value = s[1] && window.decodeURIComponent(s[1])
(queryDict[key] = queryDict[key] || []).push(value)
})
}
return queryDict
}
Run Code Online (Sandbox Code Playgroud)