小编bru*_*ruh的帖子

量角器e2e测试登录重定向

目前有部分端到端测试,输入用户名/密码并点击"登录".

它成功地做到了,但在"谢谢你登录"页面结束,而不是重定向到"帐户门户"或"仪表板",就像我通过浏览器登录一样.

这个项目的新功能,但我们正在使用OAuth.

主要问题:这听起来像需要http嘲笑吗?

更多详情:

spec.js

describe('login page', function() {
    browser.driver.get('http://url.path/login');
    it('should render login page', function() {

      // Checking the current url
      var currentUrl = browser.driver.getCurrentUrl();
      expect(currentUrl).toMatch('/login');
    });
    it('should sign in', function() {

      // Find page elements
      var userNameField = browser.driver.findElement(By.id('username'));
      var userPassField = browser.driver.findElement(By.id('password'));
      var userLoginBtn  = browser.driver.findElement(By.id('loginbtn'));

      // Fill input fields
      userNameField.sendKeys('test@user.com');
      userPassField.sendKeys('1234');

      // Ensure fields contain what we've entered
      expect(userNameField.getAttribute('value')).toEqual('test@user.com');
      expect(userPassField.getAttribute('value')).toEqual('1234');

      // Click to sign in - waiting for Angular as it is manually bootstrapped.
      userLoginBtn.click().then(function() { …
Run Code Online (Sandbox Code Playgroud)

javascript oauth angularjs protractor e2e-testing

15
推荐指数
1
解决办法
2万
查看次数

解析 CSV 而不下载/保存

我正在创建一个允许用户上传 CSV 的应用程序。CSV 只是一个逗号分隔的文件。

在前端,我使用 PUT 请求将文件发送到后端:

Reactjs | 文件上传_frontend.js

sendFile = () => {
  const data = new FormData();
  data.append('file', this.myCSV_file);

  axios.post('/parse-csv', data)
  .then(response => console.log('File sent to server for parsing')
  .catch(error => console.log(error);
}
Run Code Online (Sandbox Code Playgroud)

上面的代码成功地将上传的 CSV(信息)发送到我的服务器,该服务器正在端点侦听/parse-csv

我正在使用csv-parsernpm 包来帮助解决这个问题。

Nodejs | 文件上传后端.js

const csv = require('csv-parser');
const fs  = require('fs');
const results = [];

app.post('/parse-csv', (request, response) => {

  fs.createReadStream(request.files.file.data) { // this is a buffer on the req obj
    .pipe(csv())
    .on('data', results.push())
    .on('end', (results) …
Run Code Online (Sandbox Code Playgroud)

javascript csv node.js reactjs

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

AngularJS ng-重复对象数组

我有一个带有2个数组的Object:

mainObject = {
  soccer: [],
  hockey: []
}
Run Code Online (Sandbox Code Playgroud)

每个数组都包含不同数量的对象:

sportObject = {
  soccer: [{equipment: "cleats"}, {shirt: "jersey"}, {team: "arsenal"}],
  hockey: [{equipment: "skates"}]
}
Run Code Online (Sandbox Code Playgroud)

我使用列表将每个对象打印到页面上,用"sport"分隔:

<ul ng-repeat="(sport, value) in sportObject">
  <li>{{sport}}</li> // Prints "soccer" or "hockey"

  <li ng-repeat="item in sportObject"></li> //  <-- one of my failed attempts
</ul>
Run Code Online (Sandbox Code Playgroud)

我想将每个对象信息打印到li正确的运动名称下.

例如,共有4个对象,足球有3个,曲棍球有1个.

目前,每个项目在两项运动下都会重复出现.所以这两项运动都有4个项目.如何使用ng-repeat仅打印属于正确运动标题的设备?

结果应如下所示:

足球

  • 设备:防滑钉
  • 衬衫:球衣
  • 球队:阿森纳

曲棍球

  • 装备:溜冰鞋

html javascript angularjs

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

了解React Native跨平台

我想构建一个可以在Web,iOS和Android上运行的应用程序。

我刚刚按照教程使用React Native构建iOS应用程序。我的手机已成功运行该应用程序。

我最初的理解是“一次建造,到处部署”。我很快意识到,一旦编辑index.ios.js文件,情况就不会如此。

另外,对我来说很清楚,我不能仅将源代码从复制index.ios.js到中index.android.js,因为许多导入和API是特定于平台的。但是,我知道除了大多数代码库之外,平台是模棱两可的。

什么是达到我期望的结果的合适方法?

  • 可以说为一个平台构建应用 index.ios.js
  • 然后复制并更改平台特定的位以适合index.android.js
  • 定位传统的“桌面浏览器”又如何呢?是否应该在React中而不是React-native中单独进行此操作?

javascript reactjs react-native

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

React Native 保存输入数据

我想要两个文本字段:

  • 一个接受标题的人
  • 另一个接受正文(即更多文本)

...和一个提交按钮:

  • 单击时保存输入的标题和正文

我研究了TextInputAsyncStorageTouchableHighlight和 Navigator 组件以及一堆 react-native 教程。我似乎找不到任何一致性-甚至从 react-native 文档中也找不到。

这是我到目前为止所拥有的:

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  AsyncStorage,
  TextInput,
  TouchableHighlight
} from 'react-native';

class PostAndSave extends Component {

  constructor(props) {
    super(props);
    this.state = {
      messageTitle: '',
      messageBody: ''
    }
  }

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Walker app
        </Text>
        <TextInput
          placeholder="Title"
          style={{height: 40, borderColor: 'gray', borderWidth: 1}}
          onChange={(event) => this.setState({messageTitle: event.nativeEvent.text})}
          value={this.state.messageTitle} /> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native

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

打字稿 - 没有带有“字符串”类型参数的索引签名

Javascript 中的事情很简单:

interface Person {
  id: number
  red: number
  green: number
  blue: number
  buckets: Array<BucketType>
  // Does the index signature go here? What does it look like?
  // I haven't seen any "standard" way of doing this
}

interface BucketType {
  color: string,
  weight: number
}

const personA = {
  id: 123,
  red: 4,
  green: 5,
  blue: 6,
  buckets: [
    {
      color: 'Blue',
      weight: 4
    }
  ]
}
const personB = {
  id: 456,
  red: 7,
  green: 8,
  blue: 9, …
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs

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

单击带有空格键的按钮

我有一个带有锚点的按钮,出于可访问性的原因,我想用空格键触发它。相反,当按钮处于焦点时,单击空格键会向下跳转页面。

<a href="stackoverflow.com">Go to Stack Overflow</a>
Run Code Online (Sandbox Code Playgroud)

我试过吃空格键:

window.onkeydown = function(e) { 
  return !(e.keyCode == 32);
};
Run Code Online (Sandbox Code Playgroud)

但这当然不是我想要的。我不确定将空格键映射到回车键是否是一个聪明的解决方案,或者是否可能。如何使用纯 JS 用空格键触发按钮?

html javascript

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

React Native扩展多个组件与createClass

我已经看过很多教程,其中的代码建议执行以下操作:

var App = React.createClass({
    someFunction() { .. },
    render() { return(); },
});
var Lication = React.createClass({
    someOtherFunction() { .. },
    render() { return(); },
});
Run Code Online (Sandbox Code Playgroud)

...但我一直在使用ES6语法:

class App extends Component {
    someFunction() { .. }
    render { return(); }
}
Run Code Online (Sandbox Code Playgroud)

我在哪里创建Lication课程?App类正下方?或者它是否需要自己的文件,并导入到主文件中,例如:

var Lication = require('./Lication');
Run Code Online (Sandbox Code Playgroud)

我还没有看到使用多个类的代码.

javascript ecmascript-6 reactjs react-native

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

Vuejs在组件之间共享数据

我有两个组成部分:

  • 应用程序
  • Sidekick.vue

在我的App.vue组件中,我有一个属性,我想从中访问Sidekick.vue

应用程序

<template>
  <div id="app">
    <p>{{ myData }}</p>
    <div class="sidebar">
      <router-view/> // our sidekick component is shown here
    </div>
  </div>
</template>

<script>
export default {
  name: 'App',
  data () {
    return {
      myData: 'is just this string'
    }
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

Sidekick.vue

<template>
  <div class="sidekick">
    {{ myData }}
  </div>
</template>

<script>
export default {
  name: 'Sidekick'
}
</script>
Run Code Online (Sandbox Code Playgroud)

我想myData从中访问(在中声明App.vueSidekick.vue

我尝试通过执行以下操作App.vue从内部导入Sidekick.vue

Sidekick.vue (错误尝试)

<script>
import App …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

4
推荐指数
2
解决办法
1万
查看次数

Angular - 关注具有 ngIf 的输入元素

我有两个在条件下显示的输入元素*ngIf

<input type="text" id="textInput" *ngIf="showTextInput">
<input type="number" id="numericInput" *ngIf="showNumericInput">

<button (click)="editButtonClicked($event)">
Run Code Online (Sandbox Code Playgroud)

单击按钮应将焦点设置到适当的输入元素。

editButtonClicked(event) {
  // Focus on either #textInput or #numericInput element
}
Run Code Online (Sandbox Code Playgroud)

我研究了ElementRef来给出 html 输入元素标签,#textInput然后在类上定义它们,例如:

@ViewChild('textInput') textInput: ElementRef;
Run Code Online (Sandbox Code Playgroud)

...但显然这不适用于有条件的元素*ngIf

如何聚焦于输入元素、按钮的 onClick?

html javascript angular

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