Angular2:变量更改时视图不会更新

ankitjain11

我有一个封装了的简单组件router-outlet我已经设置了一个发出事件的简单服务。该事件由组件捕获,并更新了变量,该变量随后更新了视图中的[class]。

Sidebar.component.ts

import { Component, OnInit } from '@angular/core';
import { ROUTER_DIRECTIVES } from '@angular/router';
import { SidebarService } from '../sidebar.service';
import { Subscription } from 'rxjs/Subscription';

@Component({
  moduleId: module.id,
  selector: 'app-sidebar',
  templateUrl: 'sidebar.component.html',
  styleUrls: ['sidebar.component.css'],
  directives: [ROUTER_DIRECTIVES]
})

export class SidebarComponent implements OnInit {
  showSidebar:boolean = false;
  subscription:Subscription;

  constructor(public sidebarService: SidebarService) {
    this.subscription = this.sidebarService.sidebarEvent$.subscribe(this.toggleSidebar);
  }

  ngOnInit() {

  }

  toggleSidebar (state) {
    console.log(state);
    this.showSidebar = state;
  }
}

sidebar.service.ts

import { Injectable, EventEmitter } from '@angular/core';
import {BehaviorSubject} from 'rxjs/BehaviorSubject';

@Injectable()
export class SidebarService {

  private _sidebarEventSource = new BehaviorSubject<boolean>(false);
  sidebarEvent$ = this._sidebarEventSource.asObservable();
  constructor() { }

  open () {
    this._sidebarEventSource.next(true);
  }

  close () {
    this._sidebarEventSource.next(false);
  }

}

我试过了:Angular2:订阅中的视图未更新

Error: ORIGINAL EXCEPTION: TypeError: Cannot read property 'run' of undefined

我已经使用搭建了我的应用ng-cli

不用说,我是angular2的新手,并且具有ng1的背景。因此,这些编码风格对我来说是一个新世界。

而且,顺便说一句,谢谢您的光临。:)

小尼克
constructor(public sidebarService: SidebarService) {
    this.subscription = this.sidebarService.sidebarEvent$.subscribe((data)=>{
        this.toggleSidebar(data);
   });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

变量更改时Angular2组件视图未更新

来自分类Dev

数据更改时Angular2视图不更新

来自分类Dev

Angular2插值不会在更改时更新

来自分类Dev

当Angular2中的属性更改时,数据绑定不会更新

来自分类Dev

Angular 2视图不会在数组更改时更新

来自分类Dev

Angular 2视图不会在数组更改时更新

来自分类Dev

在Node中对变量/模型进行更改时,Angular 2不会更新UI

来自分类Dev

Angular2组件视图不会在通过方法更改值时更新

来自分类Dev

在Angular2中更改组件变量后,视图未更新

来自分类Dev

Angular2,在settimeout中更改变量后视图未更新

来自分类Dev

变量更改时,引用变量的 Tkinter 标签不会更新

来自分类Dev

AngularJS不会在异步模型更改时更新视图

来自分类Dev

控制器更改时,视图(模板)不会更新

来自分类Dev

变量更改后Angular2 View不更新

来自分类Dev

范围变量更改时如何获取动态视图以正确更新

来自分类Dev

Angular2:子属性更改时更新可观察对象(嵌套的可观察对象)

来自分类Dev

值更改时,Angular组件不会更新UI

来自分类Dev

Angular.js-在调整大小事件中更改范围变量时视图不会更新

来自分类Dev

变量更改时更新UI

来自分类Dev

在类更改时更新变量

来自分类Dev

Angular2视图模型中的布尔值不会更新* ngIf模板

来自分类Dev

输入更改时的Angular2调用函数

来自分类Dev

视图更改时更新布局中的视图

来自分类Dev

Angular2中的视图未更新

来自分类Dev

Angular2:视图未更新

来自分类Dev

外部承诺不会触发Angular2更改检测(更新:它们确实会触发)

来自分类Dev

Angular2组件不会基于数据库的更改而更新

来自分类Dev

AngularJS ng-repeat:视图不会在模型更改时更新…

来自分类Dev

当位置更改时,应用程序不会更新我的谷歌地图 api 的文本视图

Related 相关文章

  1. 1

    变量更改时Angular2组件视图未更新

  2. 2

    数据更改时Angular2视图不更新

  3. 3

    Angular2插值不会在更改时更新

  4. 4

    当Angular2中的属性更改时,数据绑定不会更新

  5. 5

    Angular 2视图不会在数组更改时更新

  6. 6

    Angular 2视图不会在数组更改时更新

  7. 7

    在Node中对变量/模型进行更改时,Angular 2不会更新UI

  8. 8

    Angular2组件视图不会在通过方法更改值时更新

  9. 9

    在Angular2中更改组件变量后,视图未更新

  10. 10

    Angular2,在settimeout中更改变量后视图未更新

  11. 11

    变量更改时,引用变量的 Tkinter 标签不会更新

  12. 12

    AngularJS不会在异步模型更改时更新视图

  13. 13

    控制器更改时,视图(模板)不会更新

  14. 14

    变量更改后Angular2 View不更新

  15. 15

    范围变量更改时如何获取动态视图以正确更新

  16. 16

    Angular2:子属性更改时更新可观察对象(嵌套的可观察对象)

  17. 17

    值更改时,Angular组件不会更新UI

  18. 18

    Angular.js-在调整大小事件中更改范围变量时视图不会更新

  19. 19

    变量更改时更新UI

  20. 20

    在类更改时更新变量

  21. 21

    Angular2视图模型中的布尔值不会更新* ngIf模板

  22. 22

    输入更改时的Angular2调用函数

  23. 23

    视图更改时更新布局中的视图

  24. 24

    Angular2中的视图未更新

  25. 25

    Angular2:视图未更新

  26. 26

    外部承诺不会触发Angular2更改检测(更新:它们确实会触发)

  27. 27

    Angular2组件不会基于数据库的更改而更新

  28. 28

    AngularJS ng-repeat:视图不会在模型更改时更新…

  29. 29

    当位置更改时,应用程序不会更新我的谷歌地图 api 的文本视图

热门标签

归档