小编Phi*_*ner的帖子

如何从Angular中类似于http的静态数据创建一个Observable?

我有一个具有此方法的服务:

export class TestModelService {

    public testModel: TestModel;

    constructor( @Inject(Http) public http: Http) {
    }

    public fetchModel(uuid: string = undefined): Observable<string> {
        if(!uuid) {
            //return Observable of JSON.stringify(new TestModel());
        }
        else {
            return this.http.get("http://localhost:8080/myapp/api/model/" + uuid)
                .map(res => res.text());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在组件的构造函数中,我订阅如下:

export class MyComponent {
   testModel: TestModel;
   testModelService: TestModelService;

   constructor(@Inject(TestModelService) testModelService) {
      this.testModelService = testModelService;

      testService.fetchModel("29f4fddc-155a-4f26-9db6-5a431ecd5d44").subscribe(
          data => { this.testModel = FactModel.fromJson(JSON.parse(data)); },
          err => console.log(err)
      );
   }
}
Run Code Online (Sandbox Code Playgroud)

如果一个对象来自服务器,但是我试图创建一个可以使用给定subscribe()的静态字符串调用的observable (当testModelService.fetchModel()没有收到uuid 时会发生这种情况),这样就可以了.所以在这两种情况下都有无缝处理.

promise observable rxjs typescript angular

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

页脚低于内容,但如果内容不够,则不会浮动半空

我得到了这段代码:

演示:http://jsfiddle.net/z21nz89d/2/

HTML:

  <nav class="navbar navbar-default" role="navigation">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu"> …
Run Code Online (Sandbox Code Playgroud)

html css footer twitter-bootstrap-3

16
推荐指数
3
解决办法
9645
查看次数

Angular 5 - 日期 - 语言

我在Angular 5应用程序中使用此表达式:

{{ viewDate | date:'MMM' }}
Run Code Online (Sandbox Code Playgroud)

月份缩写以英语显示.如何将输出切换为德语?

[求助] https://angular.io/api/core/LOCALE_ID

date internationalization angular5

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

如果添加另一个数据流,解析器不会解析

我正在尝试使用解析器来根据路由包含的给定参数检索数据。

不幸的是,当我添加另一个数据流时,我的数据依赖于解析器从未真正解析过。

如果我直接返回一个立即解决的值,一切正常。我调试了这种情况,看到我收到了所有部分信息,但最终未能真正解决。

这是一个快速示例。如果需要更多代码来理解问题,请联系我。

我的服务:

export class MyService {
  get(bar) {
    return of(new Foo(bar));
  }
}
Run Code Online (Sandbox Code Playgroud)

SecondService(这个从后端检索数据):

export class SecondService {
  private readonly _observable: Observable<Bar>;
  constructor() {
    this._observable = merge(
      // Other manipulations
    ).pipe(
      // other manipulations
      shareReplay(1)
    )
  }

  observable(): Observable<Bar> {
    return this._observable;
  }
}
Run Code Online (Sandbox Code Playgroud)

解析器:

export class MyResolver {
  constructor(_secondService: SecondService, _myService: MyService) {}

  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Foo> {
    // Does not work - Simply does not resolve
    // return this._secondService
    //   .observable()
    //   .pipe(
    // …
Run Code Online (Sandbox Code Playgroud)

angular angular-router angular6 angular-resolver

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

Nginx子域重定向到静态URL

我有一个域名,我可以浏览到example.com:1234.现在我不想总是在最后键入端口,而是在浏览子域时让nginx将我重定向到静态URL,例如.status.example.com.

我尝试过编写重定向,但它根本不起作用.

server {
    listen 80;
    server_name status.example.com;
    return 301 $scheme://www.example.com:1234;
}
Run Code Online (Sandbox Code Playgroud)

哪里是我的错误?它是服务器块吗?我错过了一些基本的东西吗?

subdomain redirect static nginx

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

在Qt和Mac OS X下注册全局热键

阅读了各种帖子和线索后,我无处可寻,需要您的帮助。

我确实有一个Mac OS X的Qt应用程序,该应用程序在某些时候将在后台使用,并且不会激活。在这种情况下,我想添加一个全局热键,以便用户可以通过单击预定义的热键轻松地打开或关闭某些功能。当应用程序处于后台且未聚焦时,以下内容不起作用。

QShortcut *shortcut = new QShortcut(QKeySequence(Qt::Key_F12), parent);
shortcut->setContext(Qt::ApplicationShortcut);
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现QxtQt 5.5恰好已经过时了。然后是DDHotkey,它需要某个编译器,出于各种原因,我们无法使用该编译器。最后,我找到了添加一个全局变量的解决方案,该全局AppleScript变量再次注册了一个事件,而不是我要查找的事件。

tell application "System Events" to tell process "myApp"
    click menu item "myButton" of menu 1 of menu bar item "Menu" of menu bar 1
end tell
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使用objective-ccocoa确切地完成我想要的?如果我可能错过了什么,请引导我朝正确的方向前进。

提前致谢!


对于寻求更多Qt方法的用户,请检查以下存储库:https : //github.com/ddqd/qxtglobalshortcut5

它利用了过时的 qxt库,但又使它重新工作。直到Qt 5.4为止,该人都对其进行了测试,我们在Qt 5.5下成功使用了它。

c++ macos cocoa qt

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

调用连接没有匹配功能 - Qt 5.5

更新我们的信号/插槽功能时,我们遇到了未定义的问题.这是我们收到的错误:


这是以前的工作,没有问题,工作得很好:

Mainwindow.cpp

connect(_restrict, &Restrict::windowChanged, _record, &Record::onWindowChanged);
Run Code Online (Sandbox Code Playgroud)

Mainwindow.h:

private slots:
void onWindowChanged(QDateTime current, QString processName, QString windowTitle, QString url, long prevPID, long currPID);
Run Code Online (Sandbox Code Playgroud)

record.h:

public slots:
void onWindowChanged(QDateTime time, QString processName, QString windowTitle, QString url, long prevPID, long currPid);
Run Code Online (Sandbox Code Playgroud)

restrict.h:

signals:
void windowChanged(QDateTime time, QString processName, QString windowTitle, QString url = "", long prevPID = -1, long currPid = -1);
Run Code Online (Sandbox Code Playgroud)

我们改变后的数据:

Mainwindow.cpp

connect(_restrict, &Restrict::windowChanged, _record, &Record::onWindowChanged);
Run Code Online (Sandbox Code Playgroud)

Mainwindow.h:

private slots:
void onWindowChanged(QDateTime current, QString processName, QString windowTitle, QString url, long prevPID, …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

i18n HTML 转义不起作用

根据 Ruby on Rails 指南(http://guides.rubyonrails.org/i18n.html#using-safe-html-translations),我需要做的就是在不调用html_safe它们的情况下呈现我的翻译,就是让键名以_html. 这是我尝试过的:

en:
  breadcrumbs:
    root_html: "<i class='material-icons'>home</i>"
Run Code Online (Sandbox Code Playgroud)

像这样调用它:

I18n.t('breadcrumbs.root_html')
Run Code Online (Sandbox Code Playgroud)

导致输出是在我的翻译中定义的这个字符串,而不是呈现的 HTML。我究竟做错了什么?

使用 Ruby on Rails 4.2.1。提前致谢!

rails-i18n ruby-on-rails-4

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

在TypeScript中使用Fat arrow函数后,"void =()=> {}"的含义是什么?

我在代码库中看到了这段代码,我有点需要理解的问题void = (page).根据/sf/answers/2399220911/,返回类型=>void在我的情况下.那怎么= (page) => {}办?如果我不用胖箭头功能写它,它的等效功能是什么?

这是代码:

private navigateTo: (page: string) => void = (page) => {
    // display page
}
Run Code Online (Sandbox Code Playgroud)

javascript typescript arrow-functions

3
推荐指数
2
解决办法
2181
查看次数

Rails content_for不局部渲染

由于某些原因,我无法在content_for块内渲染局部视图。

这是代码:

/ => index.html.slim
doctype html
html lang="de"
  = render "layouts/headinclude"
  body
    = yield
    - if Rails.env.production?
      - content_for :additional_headincludes do
        = render "layouts/hotjar"
Run Code Online (Sandbox Code Playgroud)

由于某种原因,以下内容不包括我的部分内容(完全渲染后):

  / # => _headinclude.html.slim
  head
    title= @title || "My Title"
    link href='//fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css'
    - if content_for?(:additional_headincludes)
      = yield :additional_headincludes
Run Code Online (Sandbox Code Playgroud)

我看不出为什么这行不通。任何帮助表示赞赏。当直接在我的headinclude-partial 内部渲染部分时,一切正常。

rendering ruby-on-rails partial content-for

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

将“before_action”的返回值传递给接下来的操作

这是我的 MpdController:

class MpdController < ApplicationController
  require 'ruby-mpd'

  def status
    mpd = MPD.new
    mpd.connect
    # ... 
    mpd.disconnect
  end

  def help
    mpd = MPD.new
    mpd.connect
    # ... 
    mpd.disconnect
  end

  def pause
    mpd = MPD.new
    mpd.connect
    # ... 
    mpd.disconnect
  end
end
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,每个方法都需要一个新的 MPD 实例并将其保存到我的变量中。现在,是否可以通过 Rails 提供的 before_action 和 after_action 来做到这一点?

我想到了类似的事情:

before_action :new_mpd
after_action :disconnect_mpd

def new_mpd
    mpd = MPD.new
    mpd.connect
    mpd
end

def disconnect_mpd(mpd)
    mpd.disconnect
end
Run Code Online (Sandbox Code Playgroud)

它需要从前置过滤器获取返回值,然后将其进一步传递到后置过滤器。

这是有用的东西吗?感谢您的帮助。

ruby-on-rails before-filter

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

查找最大数字(C) - 代码无效

我需要用户输入三个数字和我的程序来显示这些数字中最大的数字.我似乎无法弄清楚问题.我得到的结果是"最大的数字是0.000"

#include <stdio.h>

int main()
{

double n1, n2, n3;

printf("Enter your three numbers: ");
scanf("%1f %1f, %1f", &n1, &n2, &n3);

if (n1>= n2 && n1>= n3)
    printf("The greatest number is %f", n1);

if (n2>=n1 && n2>= n3)
    printf("The greatest number is %f", n2);

if (n3>=n2 && n3>=n1)
    printf("The greatest number is %f", n3);


return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

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