Javascript AngularJS:如何在服务中更改模型时在ng repeat中更改数据

Javascript AngularJS:如何在服务中更改模型时在ng repeat中更改数据,javascript,html,angularjs,service,controller,Javascript,Html,Angularjs,Service,Controller,当连接的变量在服务中更改时,我尝试更新“ng repeat”-div中显示的信息。根据这一点,每次更改BikeService.bikes变量时,HTML代码中的数据都应该更新。当我在浏览器(浏览器A)中打开网站时,添加自行车可以完美地(本地和远程)工作。现在,我在自己的机器或其他机器上使用另一个浏览器(浏览器B)打开页面。此外,在该浏览器中,当从该浏览器添加自行车时,一切都可以完美运行。这里是我的代码: HTML 现在是奇怪的部分;在浏览器B中添加自行车时,自行车也应显示在浏览器A中。这不会发生

当连接的变量在服务中更改时,我尝试更新“ng repeat”-div中显示的信息。根据这一点,每次更改BikeService.bikes变量时,HTML代码中的数据都应该更新。当我在浏览器(浏览器A)中打开网站时,添加自行车可以完美地(本地和远程)工作。现在,我在自己的机器或其他机器上使用另一个浏览器(浏览器B)打开页面。此外,在该浏览器中,当从该浏览器添加自行车时,一切都可以完美运行。这里是我的代码:

HTML 现在是奇怪的部分;在浏览器B中添加自行车时,自行车也应显示在浏览器A中。这不会发生。浏览器A接收该对象并将其添加到BikeService.bikes-array,但不显示该对象。然后,我必须单击其中一个“添加自行车”按钮,然后在浏览器B中创建的自行车将与刚刚在浏览器A中创建的自行车一起显示。


我有点怀疑它与BikeService.bikes变量的异步修改有关,但我不确定。还有其他建议吗?:-)

我认为你的问题是因为错误地使用了
这个

    ubob.service('BikeService', function() {
      var self = this;

      self.bikes = [
        new Bike(53.224, 6.558, true)
      ];

      self.addBike = function(bike) {
        self.bikes.push(bike);
      };
     }

我认为你的问题是因为错误地使用了
this

    ubob.service('BikeService', function() {
      var self = this;

      self.bikes = [
        new Bike(53.224, 6.558, true)
      ];

      self.addBike = function(bike) {
        self.bikes.push(bike);
      };
     }

谢谢你的回答。然而,我也试着不写“自我”,而是写“这个”。还是不行。但我稍后会再试一次。对不起,我以为你在那里复制了我的代码。尝试了两个版本,一个使用此版本,另一个使用您提供的代码。两人都有同样的问题。但我会再检查一遍。谢谢你的回答。然而,我也试着不写“自我”,而是写“这个”。还是不行。但我稍后会再试一次。对不起,我以为你在那里复制了我的代码。尝试了两个版本,一个使用此版本,另一个使用您提供的代码。两人都有同样的问题。但我会再检查一遍。
    ubob.service('BikeService', function() {
      var self = this;

      self.bikes = [
        new Bike(53.224, 6.558, true)
      ];

      self.addBike = function(bike) {
        self.bikes.push(bike);
      };
     }