小编Era*_*hel的帖子

当禁用div(ng)时,ng-click仍会触发

问题是,ng-click如果cancelTicket === false它仍然触发,则适用于此类事件ng-click.我怎么能阻止它?

<div class="btn-block save-changes padding-10" ng-class="{'gray':cancelTicket===false,'secondary-button':cancelTicket===true}" ng-click="CancelTicket(ticketPin)" ng-disabled="cancelTicket===false" style="display: table;">
    <div class="button-container padding3" ng-class="{'pointer':cancelTicket===true}">
        <button-spinner promise="cancelPromise"></button-spinner>
        <div style="display: inline-block !important;"> @Translator.Translate("CANCEL") </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

react-testing-library - 屏幕与渲染查询

有两种使用查询的方法react-testing-library

您可以使用该render方法返回的查询:

import React from 'react'
import { render } from '@testing-library/react'

...

const { getByText } = render(<div>Foo</div>)

expect(getByText('Foo')).toBeInTheDocument()
Run Code Online (Sandbox Code Playgroud)

或者您可以使用该screen对象:

import React from 'react'
import { render, screen } from '@testing-library/react'

...

render(<div>Foo</div>)

expect(screen.getByText('Foo')).toBeInTheDocument()
Run Code Online (Sandbox Code Playgroud)

但是文档中没有说明哪一个是最好的选择以及为什么。

有人可以启发我吗?

javascript reactjs react-testing-library

25
推荐指数
2
解决办法
7365
查看次数

package.json中的多个任务的一个预处理

我使用Terraform的一个项目,我在我的两个任务package.json来启动terraform planterraform apply.

"scripts": {
    "tf:apply": "terraform apply",
    "tf:plan": "terraform plan"
}
Run Code Online (Sandbox Code Playgroud)

对于这两个命令,我需要先执行terraform get.我想pretask两个人都只有一个.

我试着用:

"scripts": {
    "pretf:*": "terraform get",
    "tf:apply": "terraform apply",
    "tf:plan": "terraform plan"
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

是否有任何方法可以使用NPMYarn 使用?或者我是否被迫为这两项任务编写完全相同的预处理?

javascript json npm package.json yarnpkg

20
推荐指数
1
解决办法
953
查看次数

Angular2 forEach无法读取属性

如何this.firms在数据中调用forEach()

我知道如何在Angular1中执行此操作,但不知道我在Angular 2中的当前项目.

目前它在forEach之外工作正常,但不在内部.

 console.log(this.firms[0].name); // works
    var a = 0;
        console.log("--------------");

    data.forEach(function (eachObj) {
      console.log("firms check!");
      console.log(this.firms); // not working
      a = a + eachObj.income; 
      eachObj.name = this.firms[data.firmid - 1].name; // wont work
    });
Run Code Online (Sandbox Code Playgroud)

错误:

Cannot read property 'firms' of undefined
Run Code Online (Sandbox Code Playgroud)

javascript angular2-directives angular

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

使用带有underscore.js的memoize函数

我试图使用memoize函数来缓存来自ajax调用的结果Underscore.js.我不确定我的实施情况.还有如何使用密钥检索缓存的结果数据.以下是我的实施:

Javascript代码:

var cdata = $http
.get(HOST_URL + "/v1/report/states")
.success(function(data) {
    //put the result in the angularJs scope object. 
    $scope.states = data;
});

//store the result in the cache.
var cachedResult = _.memoize(
    function() {
        return cdata;
    }, "states");
Run Code Online (Sandbox Code Playgroud)

我使用memoize来存储ajax的结果是否正确.一旦将其放入缓存中,如何基于密钥进行检索.即'国家'.

javascript underscore.js angularjs

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

如何避免使用 Yarn 在 monorepo 中安装软件包

我使用LernaYarn 工作区构建了一个 monorepo 。

一切正常,但每次我在包上安装新的依赖项(我们称他为A)时,使用:

yarn add <package_name>
Run Code Online (Sandbox Code Playgroud)

Yarn 添加它,然后触发installmonorepo 中所有包的脚本,即使是A不依赖的包。

无论如何要避免这种情况?无缘无故地安装它们需要一些时间。

javascript lerna monorepo npm-scripts yarnpkg

11
推荐指数
2
解决办法
2864
查看次数

AWS S3 预签名请求缓存

我想将用户个人资料图片存储在 S3 存储桶中,但将这些图像保密。为了做到这一点,每当需要图像时,我都会创建一个预签名的 URL。然而,这每次都会创建一个唯一的 url,这意味着浏览器永远不会缓存图像,并且我最终会在 GET 请求中支付更多费用。

这是我生成 url 的代码示例,我使用 Laravel:

$s3 = \Storage::disk('s3');
$client = $s3->getDriver()->getAdapter()->getClient();
$expiry = new \DateTime('2017-07-25');

$command = $client->getCommand('GetObject', [
    'Bucket' => \Config::get('filesystems.disks.s3.bucket'),
    'Key'    => $key
]);

$request = $client->createPresignedRequest($command, $expiry);

return (string) $request->getUri();
Run Code Online (Sandbox Code Playgroud)

我认为通过指定日期时间而不是时间单位,它会创建相同的网址,但实际上会在网址中添加剩余的秒数,下面是一个示例:

xxxx.s3.eu-west-2.amazonaws.com/profile-pics/92323.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AXXXXXXXXXX% 2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170720T112123Z&X-Amz-SignedHeaders=主机&X-Amz-Expires=391117&X-Amz-Signature=XXXXXXXXX

是否可以生成可重复的预签名请求 URL,以便用户浏览器可以缓存图像?

php caching amazon-s3 amazon-web-services aws-sdk

10
推荐指数
2
解决办法
5507
查看次数

使用Yarn创建目录的权限

我试图使用Yarn设置命令来创建目录,构建我的Docker镜像然后启动docker-compose up.

我在我的程序中添加了一个启动脚本package.json来执行shell脚本:

"scripts": {
  "start": "./start-docker.sh",
  ...
}
Run Code Online (Sandbox Code Playgroud)

这是start-docker.sh:

#!/bin/bash

mkdir -p volumes/mysql volumes/wordpress

docker-compose build

docker-compose up
Run Code Online (Sandbox Code Playgroud)

它起初不起作用,因为我的容器无权访问创建的目录.

然后,我在创建目录后添加了这一行,以便为容器提供完全权限:

sudo chmod -R 777 volumes
Run Code Online (Sandbox Code Playgroud)

但正如您所看到的,此命令需要使用sudo执行.这意味着执行yarn start命令要求输入密码,这是我不想要的.

我摆脱了shell脚本使用了yarn脚本:

"scripts": {
  "prestart": "mkdir -p volumes/mysql volumes/wordpress && docker-compose build",
  "start": "docker-compose up",
  ...
}
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是它有效,但我不明白为什么......你们有什么想法吗?

bash node.js npm docker yarnpkg

10
推荐指数
1
解决办法
1037
查看次数

将上传的图像发送到服务器并将其保存在服务器中

我想上传图片并将其保存在服务器中.我上传的图像也得到了预览,但我仍然坚持将该图像发送到服务器.我想使用角度服务将此图像发送到服务器.

这是html代码

<input type="file" fileread="vm.uploadme" />
<img src="{{vm.uploadme}}" width="100" height="50" alt="Image preview...">
Run Code Online (Sandbox Code Playgroud)

这是指令

(function(){
    angular.module('appBuilderApp').directive("fileread", [function () {
        return {
            scope: {
                fileread: "="
            },
            link: function (scope, element, attributes) {
                element.bind("change", function (changeEvent) {
                    var reader = new FileReader();
                    reader.onload = function (loadEvent) {
                        scope.$apply(function () {
                            scope.fileread = loadEvent.target.result;
                        });
                    }
                    reader.readAsDataURL(changeEvent.target.files[0]);
                });
            }
        }
    }]);
})();
Run Code Online (Sandbox Code Playgroud)

angularjs angular-services

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

另一个javascript数组字母排序很难

我有一个array看起来像这样,我怎么能按字母顺序排序而不丢失密钥?

var items = [
  { 11: 'Edward' },
  { 12: 'Sharpe' },
  { 13: 'Alvin' }
];
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting alphabetical jscript

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