小编mar*_*ark的帖子

如何让后退按钮与AngularJS ui-router状态机一起使用?

我已经使用ui-router实现了angularjs单页面应用程序.

最初我使用一个不同的URL来识别每个州,但这是为了不友好的GUID打包网址.

所以我现在将我的网站定义为一个更简单的状态机.状态不是由URL标识的,而是根据需要简单地转换为,如下所示:

定义嵌套状态

angular
.module 'app', ['ui.router']
.config ($stateProvider) ->
    $stateProvider
    .state 'main', 
        templateUrl: 'main.html'
        controller: 'mainCtrl'
        params: ['locationId']

    .state 'folder', 
        templateUrl: 'folder.html'
        parent: 'main'
        controller: 'folderCtrl'
        resolve:
            folder:(apiService) -> apiService.get '#base/folder/#locationId'
Run Code Online (Sandbox Code Playgroud)

过渡到定义的国家

#The ui-sref attrib transitions to the 'folder' state

a(ui-sref="folder({locationId:'{{folder.Id}}'})")
    | {{ folder.Name }}
Run Code Online (Sandbox Code Playgroud)

这个系统工作得很好,我喜欢它干净的语法.但是,由于我没有使用URL,后退按钮不起作用.

如何保持我的整洁的ui-router状态机,但启用后退按钮功能?

javascript coffeescript angularjs angular-ui-router

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

Kubernetes工作清理

根据我的理解,Job对象应该在一定时间后收获pod.但是在我的GKE集群(Kubernetes 1.1.8)上,似乎"kubectl get pods -a"可以从几天前列出pod.

所有都是使用Jobs API创建的.

我注意到用kubectl删除作业删除作业后,pod也被删除了.

我主要担心的是,我将在批处理作业中在集群上运行数千和数万个pod,并且不希望重载内部积压系统.

jobs kubernetes

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

MySQL中的Max JSON列长度

我可以在MySQL的JSON列中存储的最大字符数是多少?我没有在MySQL手册中看到这一点.

mysql json

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

在节点6中使用带有Babel的async/await

我正在尝试为Node v6.9.2配置Babel.我想使用async/ awaitconstructs.

因为我是Babel和所有Node基础架构的新手,所以我很困惑如何正确配置它:

  • 我应该使用什么预设?Node已经实现了大部分ES6功能.因此,出于性能原因,我不希望Babel转换Node 6.9.x已经支持的功能(箭头功能,新导入机制等).

  • 我应该包含哪些插件,以便我可以使用async/await?在那里,我也搞不清楚,因为一些经过研究,我发现几个插件:syntax-async-functions,transform-async-to-generator和更多一些.

例子.babelrc会有所帮助.

谢谢

javascript node.js async-await babeljs

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

Gradle分发任务输出文件不是ZIP的根目录

我创建了一个简单的Gradle构建,它将./src/main/groovy的内容导出为zip文件.zip文件包含一个与zip文件名称完全相同的文件夹.我无法弄清楚如何使用分发插件将文件放入zip文件的根目录.

gradlew clean distZip产生:

helloDistribution-1.0.zip - > helloDistribution-1.0 - > files

我想要的是什么:

helloDistribution-1.0.zip - > files

我的build.gradle文件:

apply plugin: 'groovy'
apply plugin: 'distribution'

version = '1.0'

distributions {
    main {
        contents {
            from {
                'src/main/groovy'
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图通过添加into { 'dir' }但无济于事来解决问题.

software-distribution gradle

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

理想的terraform工作空间项目结构

我想设置Terraform来管理dev/stage/prod环境.所有环境中的基础结构都是相同的,但每个环境中的变量都存在差异.

现在,在Terraform 0.10中引入了工作空间,理想的Terraform项目结构是什么样的?在命名/标记基础架构时如何引用工作区?

infrastructure terraform

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

TypeScript 函数返回一组函数

我正在尝试将以下 vanilla JS 代码移植到 TypeScript 以更好地定义所有函数的返回类型。此代码导出单个函数resource. 当被调用时,resource返回一个包含其他函数的对象。

使用Demo类中的资源时,类型签名似乎消失了,在构造函数中初始化。一种方法是为resource. 但是,如果resource 不重复已经在doThingOne()和 中定义的参数,我似乎无法定义接口doThingTwo()。我目前的尝试都让我不得不复制签名。我应该如何处理这个以保持干燥?

function resource(someVar) {

    function doThingOne(p1 = '') {
        return Promise.resolve('thing one ' + someVar + p1);
    }

    function doThingTwo(p1 = '') {
        return Promise.resolve('thing two ' + someVar + p1);
    }

    return {
        doThingOne,
        doThingTwo
    };
}

class Demo {
    resource1;

    constructor() {
        this.resource1 = resource('resource1');
    }
}

const issues = new Demo();
issues.resource1 // …
Run Code Online (Sandbox Code Playgroud)

signature typescript

6
推荐指数
1
解决办法
1678
查看次数

柴中唯一拥有的对象属性的深层对象平等

我有一个对象要与chaijs中的另一个对象进行深入比较。麻烦在于,一个对象具有大量可枚举的属性,而另一个对象是一个简单直接的对象({})。

例如,我有一个对象,expect(obj1).to.eql(obj2);obj1是一个具有许多其他可枚举属性的对象,该对象是通过库添加并obj2通过创建的var obj2 = { someValue: true }

这个问题可以通过滥用来解决JSON.stringifyJSON.parse就像这样

expect(JSON.parse(JSON.stringify(obj1))).to.eql(obj2);
Run Code Online (Sandbox Code Playgroud)

但这真是个la脚的骇客。我无法想象自己是第一个遇到这种困境的人,但是我的搜索却空了。这里推荐的方法是什么?

javascript chai

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

在构建时将环境变量传递给 Dockerfile

例如,是否可以在构建时将环境变量传递给 dockerfile,以便在构建期间安装一些需要身份验证才能获取的文件。

docker

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

合并RethinkDB中的文档数组

假设我有一张叫做的桌子bookshelf.我创建了一个书架文档,其中包含一组ID,这些ID引用另一个名为books的表中的书籍.我试图使用getAllmerge组合查询中的文档,但我似乎无法将所有元素传递到getAll.我相信getAll将ID数组解释为单个文字"对象".

书架文件:

{
    id: 'MyShelf'
    books: [ 1, 2, 6, 9 ]
}
Run Code Online (Sandbox Code Playgroud)

书籍文件:

{
    id: 1
    name: 'Merging in RethinkDB for Dummies'
}
Run Code Online (Sandbox Code Playgroud)

我的查询:

r.db('test').table('bookshelf').merge(function(bookshelf) {
    return {
        booksOnShelf: r.table('books').getAll(bookshelf('books')).coerceTo('array')
    }
})
Run Code Online (Sandbox Code Playgroud)

预期结果:

{
    id: 'MyShelf'
    books: [ 1, 2, 6, 9 ],
    booksOnShelf: [
        { id: 1, name: 'Merging in RethinkDB for Dummies' },
        { id: 2, name: 'Cool Title!' },
        ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

实际结果:

{
    id: 'MyShelf'
    books: [ …
Run Code Online (Sandbox Code Playgroud)

merge join rethinkdb reql

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

ElasticSearch窗口滚动大小

如何增加ES滚动搜索查询的滚动大小?默认似乎是50次点击,但我想将其增加到100左右.我找不到文档中调整滚动窗口大小的参考.

elasticsearch

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

在 CloudFormation 中获取 Aurora Serverless 集群 ARN(输出)

我在 CloudFormation 模板中检索新 RDS Aurora Serverless 集群的 ARN 时遇到问题。

有人可以建议输出值应该低于什么参考吗?

Resources:
  RDSCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      MasterUsername: someusername
      MasterUserPassword: somepass
      DatabaseName: mydb
      Engine: aurora-postgresql
      EngineMode: serverless
      EngineVersion: '10.7'
      EnableHttpEndpoint: true
      ScalingConfiguration:
        AutoPause: false
        MaxCapacity: 16
        MinCapacity: 2
        SecondsUntilAutoPause: 300

Outputs:
  RDSClusterARN:
    Description: RDS Cluster ARN
    Export:
      Name: RDSCluster
    Value:
      Ref: RDSCluster # Help! What should this value be?
Run Code Online (Sandbox Code Playgroud)

我目前得到的输出:

    {
        "OutputKey": "RDSClusterARN",
        "OutputValue": "t1-rdscluster-1i771l6x4amfg",
        "Description": "RDS Cluster ARN",
        "ExportName": "RDSCluster"
    },
Run Code Online (Sandbox Code Playgroud)

amazon-rds aws-cloudformation aws-rds-data-service

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