小编tob*_*n9e的帖子

如何检查Observable数组的长度

在我的Angular 2组件中,我有一个Observable数组

list$: Observable<any[]>;
Run Code Online (Sandbox Code Playgroud)

在我的模板中我有

<div *ngIf="list$.length==0">No records found.</div>

<div *ngIf="list$.length>0">
    <ul>
        <li *ngFor="let item of list$ | async">item.name</li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

但是对于Observable数组,列表$ .length不起作用.

更新:

似乎(列出$ | async)?. length给出了我们的长度但是下面的代码仍然不起作用:

<div>
    Length: {{(list$ | async)?.length}}
    <div *ngIf="(list$ | async)?.length>0">
        <ul>
            <li *ngFor="let item of (list$ | async)">
                {{item.firstName}}
            </li>
        </ul>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我如何检查Observable数组的长度.

observable angular2-template angular2-services angular

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

使用LaTeX在reStructuredText中进行数学运算

我想使用轻量级标记语言在我的大学课堂上做笔记.

我选择的编辑器是gedit,我找到了Gedit的reStructuredText工具,它将运行reStructuredText处理器并在gedit的窗格中呈现HTML.这很棒,80%的路在那里.

但对于我的许多课程,我需要在笔记中包含数学方程式或希腊字符.虽然我对LaTeX不是很熟悉,但我的理解是它具有这些功能.

如何在reST文档中使用LaTeX?是否需要将reST文档处理为LaTeX,然后将其呈现为HTML,还是有更好的方法?降价会让这更容易吗?如有必要,我可以修改gedit插件.

最后,有人这样做吗?在纯文本编辑器中获取课堂笔记的任何其他建议?

谢谢!

math markdown latex restructuredtext gedit

51
推荐指数
7
解决办法
3万
查看次数

GtkDialog映射没有临时父级

我有一个用Glade(3.18)构建的GUI,它由Python 3程序调用(使用PyGObject).运行程序(Fedora 21)时,我收到很多警告:

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Run Code Online (Sandbox Code Playgroud)

我该如何修复此警告?我尝试Transient for: main_window在Glade中填写所有对话窗口的字段,但警告仍然出现.

gtk pygtk glade pygobject

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

nginx无法加载ssl certifacate

我必须为网站添加ssl(https),我获得了SSL.CSR和SSL.KEY文件.我'dos2unix'ed他们(因为他们尾随^ M)并将它们复制到服务器(CSR - > mywebsite.crt,KEY - > mywebsite.key).我对nginx.conf进行了以下修改:

@@ -60,8 +60,13 @@
        }

     server {
-       listen       80;
+       listen       443;
         server_name  ...;
+       ssl                 on;
+       ssl_certificate     mywebsite.crt;
+       ssl_certificate_key mywebsite.key;
+       ssl_session_cache   shared:SSL:10m;
+       ssl_session_timeout 10m;
        # Set the max size for file uploads to 500Mb

        client_max_body_size 500M;
Run Code Online (Sandbox Code Playgroud)

重新启动nginx时发生错误:

nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/mywebsite.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
Run Code Online (Sandbox Code Playgroud)

我认为这是因为mywebsite.crt文件的第一行包含'REQUEST',所以我从第一行和最后一行删除'REQUEST',然后再次重启nginx,并点击另一个错误:

nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/mywebsite.crt") failed (SSL: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested …
Run Code Online (Sandbox Code Playgroud)

ssl https openssl nginx ssl-certificate

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

当父组件上的变量发生更改时,重新加载子组件.Angular2

我有一个MasterComponent,它加载页眉,页脚,侧边栏等.在标题上有一个下拉列表,其选项在用户登录后设置.我希望标题是常量,即使我导航到加载不同子组件的不同路由.表示所选子选项不应更改,并且所有子组件都应该可以访问下拉值.在更改下拉值时,应更新/重新加载当前子组件.

我该如何处理这个问题?我想要事件监听器的功能.从MasterComponent更改模型后,重新加载当前子组件.在MasterComponent的变量变量更新中,ChildComponent将监听更新并运行某个函数或再次调用某个API并重新加载ChildComponent.

// routes
const appRoutes: Routes = [
    {
        path: '',
        redirectTo: 'login',
        pathMatch: 'full',
    },
    {   path: 'login', component: LoginComponent },
    {   path: 'logout', component: LogoutComponent },
    {
        path: '',
        component: MasterComponent,
        canActivate: [AuthGuard],
        children: [
            { path: 'record/create', component: RecordCreateComponent }, // create record for selectedRestaurant in MasterComponent
            { path: 'record/', component: RecordComponent }, // shows all record of current selectedRestaurant in MasterComponent
            { path: 'record/:id/update', component:RecordUpdateComponent }, // show form to edit record having id
            { …
Run Code Online (Sandbox Code Playgroud)

angular

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

Angular2 - 成功登录后重定向到调用url

我的应用程序已启动并运行Angular 2.1.0.路由受路由器保护,canActivate保护.

当将浏览器指向受保护的区域(如"localhost:8080/customers")时,我会像预期的那样重定向到我的登录页面.

但是在成功登录后,我希望被重定向回调用URL(在这种情况下为"/ customers").

处理登录的代码如下所示

login(event, username, password) {
  event.preventDefault();
  var success = this.loginService.login(username, password);
  if (success) {
    console.log(this.router);
    this.router.navigate(['']);
  } else {
    console.log("Login failed, display error to user");
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道如何从login方法中获取调用url.

我确实找到了一个关于这个的问题(和答案),但是对它没有任何意义. 登录后Angular2重定向

angular2-routing angular

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

Windows中GTK-GUI翻译中的非ASCII符号不起作用?

我有一个小的python程序,展示了如何为Linux和Windows翻译GTK(pygobject)GUI.一切都在Linux中工作,但在Windows中,非ASCII符号不会在翻译中呈现.

我假设Glade文件和*.mo文件都被正确解码,因为:

  • 英文界面显示非ASCII符号
  • 英语和翻译都在print-statements中显示非ASCII字符

以下是英文原版中的界面:

在此输入图像描述

并且德语翻译不使用环境变量或PANGOCAIRO_BACKEND=win32:

在此输入图像描述

使用环境变量PANGOCAIRO_BACKEND=fontconfig(PANGOCAIRO_BACKEND=fc)的德语翻译.第一个标签设置为使用Pango使用Calibri.这肯定是Windows上"ö","ä"和"ü"的字体.

在此输入图像描述

在控制台中,此警告出现在翻译中:Pango-Warning **: Invalid UTF-8 string passed to pango_layout_set_text().

这里已经讨论了有关使翻译工作的一些细节:

存储库:

Windows的安装程序:

是否有可能builder.set_translation_domain("pygibank")使用错误的编码推送翻译?有可能调试这个或有没有人知道如何解决这个问题?

python gtk localization pango pygobject

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

使用JSON序列化Gtk TreeStore/ListStore

我做了一个新的例子,它显示了我想做的更好.新示例给出了以下输出.有没有办法将数据放入相应的商店密钥({}括号)?

{
    "copy": [
        [
            [
                5.0,
                8.0,
                9.0
            ]
        ],
        [
            [
                4.0,
                0.0,
                1.0
            ]
        ]
    ],
    "name": "dataset1",
    "sets": [
        {
            "store": {},
            "type": "vector"
        },
        {
            "store": {},
            "type": "vector"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

新的例子

from gi.repository import Gtk
import json
import random

class Vector(object):

    def __init__(self, data):
        self.store = Gtk.ListStore(float, float, float)
        self.store.append([data[0], data[1], data[2]])
        self.type = "vector"

    def return_data(self):
        store_data = []

        def iterate_over_data(model, path, itr):
            row = model[path]
            store_data.append([row[0], row[1], row[2]])

        self.store.foreach(iterate_over_data)

        return store_data …
Run Code Online (Sandbox Code Playgroud)

gtk serialization json pygobject

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

Matplotlib自定义投影:如何转换点

我正在使用Matplotlib的自定义投影,并且不了解如何在投影中进行矢量变换(注意:自定义投影是具有赤道方面的Lambert方位角等面积投影).

在我的例子中,我想将一个向北倾斜30°的点(意味着该点位于赤道的60°N)变成一个向东倾30°的点(意味着它位于本初子午线以东60°处) ).我想借助矢量变换矩阵来做到这一点,以便将来对程序进行更复杂的计算.但我真的不明白如何正确地获得变换向量的长度(或获得该点的正确经度和纬度).

在此输入图像描述

我也在研究这个例子,但它使用了一种略有不同的转换方法:https: //github.com/joferkington/mplstereonet/blob/master/mplstereonet/stereonet_math.py

TESTFILE:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from numpy import pi, sin, cos, sqrt, tan, arctan2, arccos

#Internal imports
import projection

def transformVector(geom, raxis, rot):
    """
    Input:
    geom: single point geometry (vector)
    raxis: rotation axis as a vector (vector)
    ([0][1][2]) = (x,y,z) = (Longitude, Latitude, Down)
    rot: rotation in radian

    Returns:
    Array: a vector that has been transformed
    """
    sr = sin(rot)
    cr = cos(rot)
    omcr = …
Run Code Online (Sandbox Code Playgroud)

python transformation matplotlib vector-graphics

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

使用vagrant/puppet自动设置xdebug.remote_host ip地址

我正在使用puppet进行配置来设置Vagrant环境.

我遇到了一个问题,我希望xdebug在运行时"正常工作" vagrant up但是我需要在php.ini文件中指定主机ip地址xdebug.remote_host,显然这在使用配置的每台机器上会有所不同所以我想在发布时自动更新该值vagrant up.

VagrantFile:

config.vm.network :forwarded_port, guest: 9000, host: 9000
Run Code Online (Sandbox Code Playgroud)

.ini设置:

'xdebug.default_enable=1',
'xdebug.remote_enable=1',
'xdebug.remote_handler=dbgp',
'xdebug.remote_host=localhost:9000',
'xdebug.remote_port=9000',
'xdebug.remote_autostart=0',
'xdebug.max_nesting_level=250'
Run Code Online (Sandbox Code Playgroud)

我也试过了 xdebug.remote_host=localhost

来自vagrant机器的ifconfig结果:

vagrant@precise64 ~ : ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:cf:f9:89
      inet addr:192.168.61.142  Bcast:192.168.61.255  Mask:255.255.255.0
Run Code Online (Sandbox Code Playgroud)

phpinfo()函数

REMOTE_ADDR 192.168.61.2

REMOTE_PORT 51886

只是为了确认,如果我remote_host在我的osx主机上给出了我的实际IP地址,它可以正常工作.

php xdebug puppet vagrant

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