问题是,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) 有两种使用查询的方法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)
但是文档中没有说明哪一个是最好的选择以及为什么。
有人可以启发我吗?
我使用Terraform的一个项目,我在我的两个任务package.json来启动terraform plan和terraform 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)
但它不起作用.
是否有任何方法可以使用NPM或Yarn 仅使用?或者我是否被迫为这两项任务编写完全相同的预处理?
如何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) 我试图使用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的结果是否正确.一旦将其放入缓存中,如何基于密钥进行检索.即'国家'.
我使用Lerna和Yarn 工作区构建了一个 monorepo 。
一切正常,但每次我在包上安装新的依赖项(我们称他为A)时,使用:
yarn add <package_name>
Run Code Online (Sandbox Code Playgroud)
Yarn 添加它,然后触发installmonorepo 中所有包的脚本,即使是A不依赖的包。
无论如何要避免这种情况?无缘无故地安装它们需要一些时间。
我想将用户个人资料图片存储在 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,以便用户浏览器可以缓存图像?
我试图使用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)
令人惊讶的是它有效,但我不明白为什么......你们有什么想法吗?
我想上传图片并将其保存在服务器中.我上传的图像也得到了预览,但我仍然坚持将该图像发送到服务器.我想使用角度服务将此图像发送到服务器.
这是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) 我有一个array看起来像这样,我怎么能按字母顺序排序而不丢失密钥?
var items = [
{ 11: 'Edward' },
{ 12: 'Sharpe' },
{ 13: 'Alvin' }
];
Run Code Online (Sandbox Code Playgroud)