首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在angular2 js中,两个独立组件将如何相互对话?

在angular2 js中,两个独立组件将如何相互对话?
EN

Stack Overflow用户
提问于 2016-11-13 18:00:54
回答 1查看 315关注 0票数 0

我有两个独立的组件navbar.ts和home.ts。当用户登录时,我将路由到home.ts组件。当我刷新主页时,我无法在home.ts中加载home.ts组件,它正在显示navbar.ts组件。这是密码。

navbar.ts

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { Http } from '@angular/http';
import { Router } from '@angular/router';
import { Component, OnInit } from '@angular/core';

import { Observable } from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';

@Component({
    selector: 'navbar',
    template: template,
})

export class NavbarComponent implements OnInit {

    public isAuthenticated = new BehaviorSubject(false);

    constructor(private http: Http, public router: Router, 
                public loginService: LoginService) {}

    ngOnInit() {
        if (this.loginService.isLoggedIn()) {
            this.isAuthenticated.next(true);
    }
 }
}

home.ts

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { Http } from '@angular/http';
import { Router } from '@angular/router';
import { Component, OnInit } from '@angular/core';

@Component({
    selector: 'home',
    template: template,
    styles: [ styles ],
})


export class Home implements OnInit {

    constructor(public router: Router, public http: Http) {}

    ngOnInit() {}

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-13 18:48:42

很可能您将您的服务放在ngOnInit中,根据angular2中的生命周期挂钩,它将在加载时只执行一次,因此您希望检查您的服务并检查其更改,尝试ngDoCheck() {}代替,使用此方法检测忽略角度的更改。

DoCheck:当角脏检查指令时调用的生命周期挂钩。

使用方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component({selector: 'my-cmp', template: `...`})
class MyComponent implements DoCheck {
  ngDoCheck() {
    // ...
  }
}

文件在这里。

因此,将代码更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { Http } from '@angular/http';
import { Router } from '@angular/router';
import { Component, DoCheck } from '@angular/core';

import { Observable } from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';

@Component({
    selector: 'navbar',
    template: template,
})

export class NavbarComponent implements DoCheck {

    public isAuthenticated = new BehaviorSubject(false);

    constructor(private http: Http, public router: Router, 
                public loginService: LoginService) {}

    ngDoCheck() {
        if (this.loginService.isLoggedIn()) {
            this.isAuthenticated.next(true);
    }
 }
}

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40580917

复制
相关文章
Angular2 组件(页面)之间如何传值
在Angular 2中,数据和事件变化检测从上到下发生从<b>父级到子级。</b>
用户1437675
2018/08/20
4K0
Angular2 组件(页面)之间如何传值
在 Discourse 中如何使用输入对话框
如下图显示的内容,可以在输入框中输入文本,然后在主题中可以根据你输入的文本重新生成字符串:
HoneyMoose
2021/09/08
2.2K0
在 Discourse 中如何使用输入对话框
Angular2 组件的使用
3.在 @Component 中 ,设置selector、template 和 styles 等元数据
用户1437675
2018/08/20
1.5K0
Silverlight如何与JS相互调用
1.sl调用js 比如我们在页面中定义一个js函数: <script type="text/javascript">         function fnTest(msg) {             alert('fnTest:' + msg);         }     </script> sl中可以有二种调用方式: HtmlPage.Window.CreateInstance("fnTest", "CreateInstance"); 或者 HtmlPage.Window.Invoke("fnTes
菩提树下的杨过
2018/01/23
2.6K0
MESI 与 StoreBuffer 相互独立的猜想
CPU 3 在寄存器中修改 A 中内容,并且写入写缓存区StoreBuffer,假设修改是 ++A(就是A现在等于 A +1,图里放不下,简写成++A)
执生
2021/03/02
5770
MESI 与 StoreBuffer 相互独立的猜想
在python中如何比较两个float
奇怪的现象 前几天跟同事聊起来,在计算机内部float比较是很坑爹的事情。比方说,0.1+0.2得到的结果竟然不是0.3? >>> 0.1+0.2 0.30000000000000004 为什么会出现
py3study
2020/01/06
4.2K0
vue.js 父组件如何触发子组件中的方法
组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is 特性进行了扩展的原生 HTML 元素。
IT工作者
2022/02/17
4.7K0
在 Vue 中,子组件如何向父组件传递数据?
在子组件中,使用 $emit 方法触发一个自定义事件,并传递要传递给父组件的数据作为参数。
王小婷
2023/09/03
6190
VUE 如何将父组件中的数据传递到子组件中
因为异步调用的问题,如果我不采取手段,子页面没有办法获得父页面中的数据,页面将会显示为 没有数据。
HoneyMoose
2022/09/14
6.7K0
VUE 如何将父组件中的数据传递到子组件中
如何通过js将一base64编码的图片显示在html中
今天遇到了一个小问题,如何通过js将一base64编码的图片显示在html中?写了一个小的demo.
王小婷
2019/06/14
11.2K0
react+electron使应用窗口相互独立
前两篇文章我们介绍了react+electron构建桌面应用和如何加载本地的静态资源。然后现在有个需求,是要使应用里的弹窗独立于主窗口,今天来实现这个需求。
winty
2020/08/24
1.8K1
react+electron使应用窗口相互独立
在 Vue.js 中制作自定义选择组件
定制 select 标签的设计非常困难。有时候,如果不使用样式化的 div 和自定义 JavaScript 的结合来构建自己的脚本,那是不可能的。在本文中,你将学习如何构建使用完全自定义 CSS 设置样式的 Vue.js 组件。
疯狂的技术宅
2020/03/04
3.1K0
在 Vue.js 中制作自定义选择组件
获取两个list中相互不包含的部分
代码如下:提供了几种方法(自个写的) import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; class Scratch { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.a
阿超
2022/08/21
1.6K0
获取两个list中相互不包含的部分
Angular2 中的指令
组件:一种带有模板的指令;使用component来装饰组件类 属性指令:改变元素的外观或行为,如NgClass,NgStyle;使用Directive来装饰指令类 结构指令:向DOM中添加或删除元素,如NgIf,NgFor;使用Directive来装饰指令类
用户1437675
2018/08/20
1.7K0
各个单细胞亚群独立在两个分组做差异分析
可以看到,每个单细胞亚群都有自己的差异分析火山图,会议上有人提问这个分析如何做。其实主要是大家可能是初次接触生物信息学就是单细胞数据处理,所以基础知识有点欠缺。它就是普通的表达量矩阵分析而已,我七八年前就写过系列笔记,公众号推文在:
生信技能树jimmy
2022/06/13
9K0
各个单细胞亚群独立在两个分组做差异分析
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.2K0
自定义事件在 Vue.js 组件中的应用
Vue.js 组件的自定义事件可以让子组件向父组件传递数据,非常方便实用。在使用自定义事件时,我们可以使用 v-on 来绑定事件,每个 Vue 实例都实现了事件接口,即使用 $on(eventName) 监听事件和使用 $emit(eventName) 触发事件。此外,在父组件中,我们可以使用 v-on 来监听子组件触发的事件。
iOS程序应用
2023/03/15
4K0
自定义事件在 Vue.js 组件中的应用
Angular2 VS Angular4 深度对比:特性、性能
在Web应用开发领域,Angular被认为是最好的开源JavaScript框架之一。
葡萄城控件
2022/05/09
8.7K0
Angular2 VS Angular4 深度对比:特性、性能
为什么现在的开发者总是拿 Vue.js 和 JavaScript 巨头 Angular、React 比较?
Vue.js 是一个用来构建 web UI 的 JavaScript 库,基于 MIT 开源协议。Vue.js 于 2013 年首次分布,但是在接下来的两年内,并没有太多的 web 框架领域的开发者关注。到了 2016 年,Vue.js 名声大噪,获得了极大的关注,以至于现在除了像 Angular 和 React 这样的重量级 JavaScript 库,又多了 Vue.js 这样的一个选择。
疯狂的技术宅
2019/03/28
1.9K0
为什么现在的开发者总是拿 Vue.js 和 JavaScript 巨头 Angular、React 比较?
在 JS 中如何使用 Ajax 来进行请求
github 地址:https://github.com/qq44924588...
前端小智@大迁世界
2020/12/07
8.9K0

相似问题

Vue.js组件不是相互独立的

10

使相邻组件相互独立

12

在两个独立组件angular2之间共享数据

34

如何从相互独立的组件调用函数

13

在angular2中,如何让子组件相互通信?

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文