对于Angular2,为什么具有相同组件的两个页面(两个选项卡)会相互影响?

时间:2016-04-21 10:18:20

标签: angular browser-sync lite-server

这是一个Angular2应用程序,该组件在此简化为:

@Component({
    selector: 'courses',
    template: `
        <input [(ngModel)]="wahla">
        <input [(ngModel)]="wahla">
        {{ wahla }}
        `
})
export class CoursesComponent {
    wahla = "hmm hmm ha ha";
}

我认为应用程序在一个页面中使用双向绑定可以正常工作,但如果我用http://localhost:3000/打开另一个标签,然后在第一页的第一个输入框中粘贴或键入内容,那么第二个tab实际上是为其第一个输入框更新的,而第二个输入框和静态文本不会更新。

对于第一个标签,所有内容都按预期更新。

这应该发生还是可能出错?这是使用npm start运行的,它运行带有BrowserSync的lite-server。

2 个答案:

答案 0 :(得分:10)

这是lite-server的功能,而不是一个错误或其他东西,因为它可能看起来像是一个。

要实现这一目标lite-server uses javascript扩展Browsersync

lite-server的npm页面上,可以像这样提到

  

lite-server是一个围绕BrowserSync的简单自定义包装器   很容易为SPA提供服务。

BrowserSync将其置于website这样的

  

节省时间的同步浏览器测试

这清除了所有怀疑之云

  

随着每个网页,设备和浏览器,测试时间会增加   成倍。从实时重新加载到网址推送, form replication 到   点击镜像,Browsersync会删除重复的手动任务。

答案 1 :(得分:5)

您可以访问http://localhost:3001更改同步设置。这是更改浏览器同步设置的用户界面。加载http://localhost:3001后,您可以导航到&#34;同步选项&#34;并更改&#34;浏览器同步&#34;的设置这里。