Tag: angularjs

刷新Firebase令牌

我正在使用networkingfirebase JavaScript通过电子邮件和密码进行身份validation。 这个过程生成一个令牌,我使用firebase-admin在我的nodejs后端validation。 一旦生成该令牌,我将其存储在浏览器本地/会话存储上。 前端是AngularJs,我拦截http请求来注入存储在浏览器中的令牌。 这工作正常,但过了一段时间,此令牌过期。 那么在发送给nodejs api之前刷新这个令牌的最好方法是什么? 注意:我应该请求currentUser.getToken()每个请求吗?

$ scope.myObjectVariable值设置为input属性值

晚上好, 我正在写一个使用AngularJS的应用程序,我需要应用程序通过POST请求向nodejs服务器发送数据。 我的数据结构像一个JSON对象,它具有数据绑定感谢AngularJS框架。 到目前为止,一个函数正在dynamic地尝试创build用户可能喜欢的某些input标签内的可能值。 一个例子: <button ng-click="generateFoodAndBeverages(row)>Generate</button> <input type="text" ng-model="row.service.day.beverage" placeholder="beverage" /> <input type="text" ng-model="row.service.day.food" placeholder="food" /> 这两个input值可以由用户通过键入他们想要的值来设置( 例如“可乐”,“汉堡” ),但是在input标签上方是可以为用户生成input值的button。 生成这些值的函数从一个数组中获取它们,然后在该函数的结尾返回两个可能的值,一个用于饮料,一个用于食物。 当它有两个返回值时,它改变两个input的属性值,将它们设置为函数产生的两种可能性: jQuery("#input1").attr("value", generateFoodAndBeverages(row)[0]); jQuery("#input2").attr("value", generateFoodAndBeverages(row)[1]); 这不是完美也不高雅,但它的工作。 每次用户请求自动生成食品和饮料时,该函数都会填充并dynamic更改这两个input元素的值属性,以便实际设置值并确实存在。 即使如此,即使我在屏幕上将它们看作是input字段中的文本,我的POST请求也不能识别ng-model实际改变的事实。 ng-model将更改注册到input字段的value属性的唯一方法是如果用户使用键盘input内容,则手动更改value属性。 另一个例子: <input type="text" value="generateValue()" ng-model="row.service.info" /> 这里的一个不会改变ng模型的值。 <input type="text" value="User Typed Value" ng-model="row.service.info" /> 这另外一个改变了ng-model的值,当它改变和存在时,它被传递给$ scope,稍后可以作为POST请求发送到服务器。 关于为什么input字段的“自动和dynamic生成”值为什么没有被ng-model注册,而用户types的值呢? 提前致谢! [编辑] 显然这个问题伴随着ng-model不变。 我试图通过在input中应用ng-change来debugging问题。 如果更改是通过javascript完成的,它没有注册到ng-model ,并且ng-change函数不会被触发,因为ng-model没有被改变,即使我可以清楚地看到由javascript设置的新值标签。 如果我手动ng-changeinput标签的值,则会触发ng-change并且控制台logging更改。 如果每行都没有那么不同,我可以直接将这些更改应用到ng-model […]

如何* ngFor使用angular2中的模板variables?

主要成分: HTML <event-thumbnail *ngFor='let event1 of events' #thumbnail [event2]="event1" (eventClick)='handleEventClicked($event)'>Hello</event-thumbnail> <button class='btn btn-primary' (click)="thumbnail.alertFoo()">alert id</button> <button class='btn btn-primary' (click)='thumbnail.handleClickMe()'>click me!</button> 事件 – 缩略图提示 alertFoo(){ alert("id called"); } handleClickMe(){ this.eventClick.emit('foo'); alert('click'); } 在上面的代码中,当使用* ngFor时,我无法使用缩略图使用button – >模板variables。 没有调用alertFoo和handleClickMe()通过缩略图。 我也试图把它包装在div中,但仍然无法正常工作。 它只适用于当我把整个代码封闭在一个div中的时候,也就是说,也就是说,那些显示不需要的多个button的button。 我想了解ngFor的工作方式是否有一些解决上述问题,我希望事件重复,但button只能显示一次。

用Angular触发CSV文件下载

这个问题之前已经有了一些要求,但是我看到的解决scheme似乎都没有工作,这可能是因为我将文件stream式传输到浏览器。 我最终想要的CSV是在一个专用的S3存储桶中,由于安全中间件,我必须通过一个NodeJS端点来获取它。 API的代码如下。 exports.download = function(req, res) { var recording = req.vsRecording, s3 = new AWS.S3(); if(recording.data_uri){ try{ res.set('Content-Type', 'application/octet-stream'); var fileStream = s3.getObject({Bucket: 'processing-dispatched', Key: recording._id + '/aggregated.csv'}).createReadStream(); fileStream.pipe(res); } catch(err){ res.status(500).json({error: err}); } } else { res.status(500).json({error: 'Recording does not have a report file.'}); } }; 这完美的作品,我可以得到文件的内容回浏览器。 当出现问题的时候就是试图把这个内容打开成文件下载。 有没有一种特殊的方式来处理下载stream? 我得到的最接近的是客户端上的这段代码,如果我closures了adblocker,有时似乎在本地主机上工作 – 但是在生产中不起作用。 $scope.download […]

护照js本地策略自定义callback显示用户为false和信息为“缺less凭据”

我正在使用Node.js,angularjs,快递和护照。 我尝试了所有我能想到的选项,但仍然没有解决scheme。 找不到来自其他post的解决scheme。 app.post('/login', function(req, res, next) { console.log(req.body.Email); console.log(req.body.Password); passport.authenticate('local', function(err, user, info) { console.log(err,user,info); … 在上面的req.body中显示正确的控制台,但在通行证validation显示空,虚假和信息作为缺less凭据。 我已经使用以下通行端口 passport.use(new LocalStrategy({ usernameField: 'Email' }, (Email, Password, done) => { console.log(Email, Password, done); User.findOne({ Email: Email.toLowerCase() }, (err, user) => { console.log(err); if (err) { return done(err); } if (!user) { return done(null, false, { msg: […]

从angular度$ locationProvider中的URL中删除#后的问题

在我的app.js我有 $routeProvider .when('/', { templateUrl: '/views/main.html' }) .when('/admin', { templateUrl: 'views/admin.html', controller: 'admin', }) 所以我的路线是本地主机:3000 /#/和点击button,它把我到本地​​主机:3000 /#/pipe理我想从我的url删除#所以我用 $locationProvider.html5Mode({ enabled: true, requireBase: false }); 现在localhost:3000/正在工作,点击button,它把我带到localhost:3000/admin 。 但是,如果我直接给localhost:3000/admin在url中,它是给不能得到localhost:3000/#/admin 。但是,如果给localhost:3000/#/admin ,这是带我到localhost:3000/admin为什么这种行为,我怎么能使localhost:3000/admin可以帮助某人

在AngularJS本地保存会话有多安全?

所以这是我的结构: HTML表单将身份validation发送到nodejs 。 使用passportjs > res.send使用jwt-simple (json web token)发送userid进行身份validation。 收到的信息保存在$localStorage.user 。 我在任何需要的控制器中使用该信息,并将其包含在内,并将我的post / get请求发送给nodejs 。 我解码nodejs中的信息并查询DB 。 这安全吗? 这是如何在现实世界中工作? 非常感谢。

找不到模块的声明文件

我正在尝试使用我创build的nodejs包,有人可以指出我做错了什么。 这里是包结构的样子: node_modules |__my_commons | |__dist | |__src | | |__helpers.d.ts | | |__helpers.js | | |__index.d.ts | | |__index.js | |__node_modules <=This got recursively installed | |__.npmignore | |__package.json src |_app/app.component.ts <= Here I am using it my_commons /的package.json { "_args": [ [ { "raw": "my_commons@bitbucket:ishan_dutta/my_commons", "scope": null, "escapedName": "my_commons", "name": "my_commons", "rawSpec": "bitbucket:ishan_dutta/my_commons", […]

当npm启动我的Angular2项目时,重复的标识符导出错误

当我通过npm start命令运行我的Angular2项目时,我得到了重复的标识符导出错误,我search了很多,但找不到确切的解决scheme,我可以在下面findpackage.json,typings.json和tsconfig.json。 问候阿尔珀 package.json { "name": "Angular2SampleProject2", "version": "1.0.0", "scripts": { "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ", "e2e": "tsc && concurrently \"http-server -s\" \"protractor protractor.config.js\" –kill-others –success first", "lint": "tslint ./app/**/*.ts -t verbose", "lite": "lite-server", "pree2e": "webdriver-manager update", "test": "tsc && concurrently \"tsc -w\" \"karma start karma.conf.js\"", "test-once": "tsc && karma start karma.conf.js […]

Mean Stack – 使用Express来发送AngularJS的所有静态内容

我已经做了几个节点的应用程序,并在前端使用Angular,但我从来没有把两者结合起来。 如果在发送index.html时将所有视图发送到前端,我完全失去了它。 目前我在我的服务器中有以下代码: … app.use(express.static('./app')); app.listen(config.port, function() { logger.info('Server listening on ' + config.port); }); …. app.get('/update', auth.isLoggedIn, (req, res) => { byo.userUpdate(res); }) app.get('/*', function(req, res) { res.sendFile(__dirname + '/app/index.html');//'/public/index.html'); }) ///////// HTML Template: <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <meta name="description" content=""> <meta name="viewport" content="width=device-width"> <!– Place favicon.ico and apple-touch-icon.png in the […]