当前位置: 首页 > 知识库问答 >
问题:

在URL - Angular 2中获取/设置数据

贾烨
2023-03-14

我做过这样的事情:

setURL(){
  this.router.navigate(['/app/chart', {height: this.chartHeight, width: this.chartWidth}]);
}

ngOnInit() {

    this.route.params.subscribe(
        (params: any) => {
            this.chartHeight= params['height'] || 0;
            this.chartWidth= params['width'] || 0;
        }
    );
}

这很好,因为如果没有设置参数(不在url中),默认的宽度和高度设置为< code>0。没关系。但是如果我改变这个或者我在url中设置一些值,然后按enter键,什么都不会改变。我的意思是,如果我< code>console.log it -值设置正确,但是DOM不受影响。一点变化都没有。这太奇怪了...

共有1个答案

伏业
2023-03-14

**更新开始**

我意识到现在你也希望url存在,这样你就可以允许人们通过URL直接访问这个位置。您还需要处理一个从URL中提取参数的函数。

我相信这个答案会对你有所帮助,但我还没有面对这个问题。

** 更新结束 **

您尝试复制其功能的网站正在发出获取请求。

在angular 2中,如果你想把数据传递给url,你可以这样做,

你会需要这些进口货

import { Http, Response, Headers, URLSearchParams }from '@angular/http';
import { Observable }from 'rxjs/Observable';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/take';

创建observable,以便在页面中发生变化时更新数据,而无需刷新数据。

 private DimensionsData: Observable<any>;

每当有新数据集要传递时,都会调用此函数

    private SendData() {
        let params: URLSearchParams = new URLSearchParams();
        params.set('width', this.width);
        params.set('length', this.length);
        return this.http.get('UrlPathHere/',
            { search: params })
            .map((res: Response) => res.json())
        .take(1) //Takes the first observable and unsubscribes 
        .subscribe(res => this.DimensionsData = res.data_response)
    }

您将调用函数以在ngOnInit()方法中开始工作,

ngOnInit() {
        this.SendData();
}

您所要做的就是创建一个服务,该服务从URL获取数据,然后将其作为响应传回。

我已经解释了如何通过get请求实现这一点,因为这正是您向我展示的示例网站的实现方式。

你可以在这张照片中看到,

 类似资料:
  • 我正在尝试使用Auth0和angular2(2.0.0-rc.6)实现无密码身份验证,使用angular2 webpack starter和Auth0锁无密码。 表单正常显示,身份验证电子邮件使用以下代码发送: 问题发生在我单击电子邮件中的神奇链接之后: > 即使魔术链接的redirect_uri看起来是正确的(redirect_uri=http://localhost:3000/#/sandbo

  • 我正在尝试为属性创建get和set方法: 设置值的关键字是什么?

  • 问题内容: 我们有一个JPA应用程序(使用hibernate),我们需要将调用传递给需要JDBC数据库连接作为参数的旧式报告工具。有没有一种简单的方法可以访问hibernate已设置的JDBC连接? 问题答案: 您想在哪里获得该连接尚不清楚。一种可能是从.NET 使用的基础Hibernate中获取它。使用JPA 1.0,您必须执行以下操作: 请注意,该方法不是可移植的,此方法的结果特定于实现:上面

  • 问题内容: Java程序员和API似乎更喜欢显式的set / get方法。 但是,我给C ++社区不满意这种做法的印象。如果是这样,是否有特定原因(除了更多的代码行)为何如此? 另一方面,为什么Java社区选择使用方法而不是直接访问? 谢谢 问题答案: 一个设计良好的类在理想情况下应该没有太多的获取和设置。我认为,太多的获取和设置基本上是一个事实,表明其他人(可能还有许多人)需要我的数据才能实现其

  • 问题内容: 这是我的工厂: 我在两个控制器MainCtrl和AccountEditCtrl中使用此服务,在MainCtrl中使用getFirstname(),在AccountEditCtrl中使用setFirstname 我的问题是,当我使用userService.setFirstname()时,$ scope.userName不会在MainCtrl中更改。 问题答案: 在某些情况下,$ watc