小编Hin*_*ich的帖子

Angular 2中的本地存储

我需要在浏览器的会话中存储数据并检索数据,直到会话退出.如何在Angular 2中使用本地和会话存储?

javascript session-variables local-storage angular

139
推荐指数
10
解决办法
23万
查看次数

正则表达式检查字符串中间的空白区域

我想验证字符是字母数字:

Regex aNum = Regex("[a-z][A-Z][0-9]");
Run Code Online (Sandbox Code Playgroud)

我想添加可能有空格的选项,因此它将是一个双字表达式:

Regex aNum = Regex("[a-z][A-Z][0-9]["\\s]");
Run Code Online (Sandbox Code Playgroud)

但找不到正确的语法.

id适用于任何煽动.

c# regex whitespace

13
推荐指数
3
解决办法
8万
查看次数

配置Angular UI按钮

我有一个angular-ui按钮,如下所示:

<button uib-btn-checkbox ng-model="sortReverse" class="btn btn-default" ng-init="sortReverse=true"> <i class="fa" ng-class="{'fa-sort-asc': sortReverse===true,'fa-sort-desc': sortReverse===false}"></i></button>
Run Code Online (Sandbox Code Playgroud)

这很好用.

每次模型变为true时,active该类都应用于元素.在文档中,他们说您可以更改选中按钮的类名.这是引用:

默认设置 uibButtonConfig

activeClass(默认值:) active- 要应用于选中按钮的类.

但我不明白应该如何做到这一点,无法在任何地方找到例子.

javascript angularjs angular-ui

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

React Native Navigation中标题栏的保证金顶部

我是React Native的新手.我正在使用React-Navigation.但是,在我的设备上有标题导航问题.这样覆盖状态栏就像这样.

在此输入图像描述

我的代码和React Navigation展示示例都会出现此问题.怎么解决?谢谢

javascript react-native react-navigation

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

我可以使用 Cypress 删除 HTML 元素吗?

是否可以使用 Cypress 从 HTML 中查找并删除元素?以及如何做呢?

编辑:这有效:

cy.get(selector).then((elem) => {
  const elemHtml = elem.get(0)
  elemHtml.remove()
})
Run Code Online (Sandbox Code Playgroud)

html dom element cypress

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

将异常作为JSON消息返回

我正在使用ASP.NET Core开发API,我正在努力处理异常处理.

当发生任何异常时,或者在我想要返回具有不同状态代码的自定义错误的任何控制器中时,我想返回JSON格式的异常报告.我在错误响应中不需要HTML.

我不确定我是否应该使用中间件或其他东西.我应该如何在ASP.NET Core API中返回JSON异常?

.net asp.net-core-mvc asp.net-core

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

Azure AD:访问令牌中缺少角色声明

对于我的应用程序,我希望用户能够使用他们的 Azure 帐户(单点登录)登录。我还需要一个访问令牌来访问安全后端。所以我可以通过对这个 url 的请求同时获得 theid_token和 the access_token

https://login.microsoftonline.com/MY_TENANT_ID/oauth2/authorize?response_type=id_token+token&client_id=MY_CLIENT_ID&state=SOME_STATE&redirect_uri=MY_REDIRECT_URI&scope=openid profile&resource=MY_CLIENT_ID&nonce=SOME_NONCE
Run Code Online (Sandbox Code Playgroud)

这基本上有效,但我也希望在访问令牌(和 id 令牌)中有角色,但这些角色不包含在我收到的令牌中。

当我使用此 Url 仅获取 时id_token包含角色声明

https://login.microsoftonline.com/MY_TENANT_ID/oauth2/authorize?response_type=id_token&client_id=MY_CLIENT_ID&state=SOME_STATE&redirect_uri=MY_REDIRECT_URI&scope=openid profile&nonce=SOME_NONCE
Run Code Online (Sandbox Code Playgroud)

不同之处在于我只请求 theid_token而不是 thetoken并且我省略了resource参数。

我的问题是:为什么第一个请求的令牌中没有包含角色声明?我有哪些选择id_token以及access_token角色声明?

编辑:这是 approles 在应用程序清单中的定义方式:

{
  "appId": "MY_CLIENT_ID",
  "appRoles": [
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Admin",
      "id": "c200e304-fff3-49f1-a4df-e406741ea690",
      "isEnabled": true,
      "description": "Bla bla",
      "value": "admin"
    },
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Reader",
      "id": "c534f351-b343-48d0-9dd7-ecb4c5cb402d",
      "isEnabled": true, …
Run Code Online (Sandbox Code Playgroud)

azure oauth-2.0 jwt azure-active-directory openid-connect

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

在 react-native 中测试 TextInput 组件

我在测试react-nativejest酶的TextInput变化时遇到了一些问题。

我处理用户输入的组件基本上是这样的(简化):

class Search extends React.PureComponent {
  onSearchTextChange = input => {
    // do something awesome
  };
  render() {
    return (
      <View>
        <TextInput
          onChangeText={debounce(this.onSearchTextChange, 800)}
        />
      </View>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我想测试文本输入行为。这就是测试现在的样子:

it('should render a text input and react to user input', done => {
  const mockOnSearchTextChange = jest.fn();
  Search.prototype.onSearchTextChange = mockOnSearchTextChange;

  const tree = shallow(<Search />);
  const textInput = tree.find('TextInput');
  expect(textInput).toHaveLength(1);
  textInput.simulate('changeText', { target: { value: 'test' } });
  expect(mockOnSearchTextChange).not.toHaveBeenCalled();
  setTimeout(() => { …
Run Code Online (Sandbox Code Playgroud)

javascript jestjs react-native enzyme

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

AngularJS Link函数未被调用

由于某种原因,我的指令中的链接函数没有被调用.我可以看到我的指令是用一个console.log而不是链接函数调用的.也不介意我将使用我的父指令控制器参数.我也试过限制:'E'也没有运气.我没有在这个例子中使用它.不知道是什么导致它跳过链接.有什么想法吗?

module FormTest {
    angular
        .module('FormTest') //Gets the FormTest Module
        .directive('jiTab', function () {
            console.log('directive was hit');
            function linkFn(scope, ele, attrs, controller) {
                console.log('Link is called');
            };
            return {
                require: '^ji-Tabset',
                restrict: 'C',
                transclude: true,
                link: linkFn
            }
        });
 }
Run Code Online (Sandbox Code Playgroud)

HTML

<ji-form name="Main Form">  
    <ji-tabset name="Tabs">  
        <ji-tab tab-name="General"></ji-tab>  
        <ji-tab tab-name="Stats"></ji-tab>  
    </ji-tabset>  
</ji-form>
Run Code Online (Sandbox Code Playgroud)

父指令

module FormTest {
    angular
        .module('FormTest') //Gets the FormTest Module
        .directive('jiTabset', function () {
            return {
                restrict: 'E',
                transclude: true,
                replace: true,
                templateUrl: 'FormTest/views/ji-Tabset.html',
                controller: function …
Run Code Online (Sandbox Code Playgroud)

angularjs

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

node.js中模块化socket.io的体系结构

在node.js的应用程序,比方说,我有一个app.js这样

var express = require('express')
var app = express();

var server = http.createServer(app);

...

module.exports = {
  app:app,
  server:server
}
Run Code Online (Sandbox Code Playgroud)

还有/lib/sockets.js,其中socket.io的所有逻辑都应该进入.它看起来像这样:

var server = require('../app.js').server;
var io = require("socket.io").listen(server);

io.sockets.on('connection', function(socket) {
  socket.on('event', function(msg) {
    socket.emit('news', msg});
  });
});

module.exports = io;
Run Code Online (Sandbox Code Playgroud)

它是需要的很好的做法serverapp.js这里?如果没有,什么是更好的解决方案?谢谢

javascript module node.js npm socket.io

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

redux如何使用react-router重定向componentWillMount

如何使用react-router重定向componentWillMount

export class NewStock extends React.Component {
  constructor(props, context) {
    super(props, context);
  }

  componentWillMount() {
    const { session, dispatch, router } = this.props
    if (session.userSessionData.get('logged_in') == false) {
      router.transitionTo('/login')
    }
  };
Run Code Online (Sandbox Code Playgroud)

这段代码:

router.transitionTo('/login')
Run Code Online (Sandbox Code Playgroud)

只返回:

Uncaught TypeError: router.transitionTo is not a function
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router redux

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

在Angular中切换类的最佳方法

在我的Angular4应用程序中,我有一个代码来有条件地应用两个看起来像这样的类:

<some-element [ngClass]="{ 'fa-toggle-on': category.active, 'fa-toggle-off': !category.active }">
</some-element>
Run Code Online (Sandbox Code Playgroud)

这有效,但这真的是推荐的方式吗?记下category.active两次感觉有点不洁净.我正在寻找更多的东西 - 如果 - 其他类似的东西,但到目前为止在文档和SO上找不到任何东西.

angular

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

React - 根据宽度缩短字符串

我有一个宽度为 500px 的容器。在这个容器中有 2 个字符串,“iiiiiiiiiiiiiii”和“MMMMMMMMMMMMMM”。您可以清楚地看到“M”字符串比“i”字符串宽很多,但两者都适合 500px 屏幕。 在此处输入图片说明

如果我让容器变小,假设 350px 的 M 字符串太宽,我想删除一些“M”以便它可以适合这样:

在此处输入图片说明

在 React 中,我有以下数据:

var i = 'iiiiiiiiiiiiiii';
var M = 'MMMMMMMMMMMMMMM';
var containerWidth = 500;
Run Code Online (Sandbox Code Playgroud)

我根据什么信息缩短字符串?

我从 开始if string.length > containerWidth / 10,但那是不对的,因为字符串长度!= 宽度。我不能使用getElementById然后使用.offsetWidth

javascript css reactjs

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