【问题标题】:Data Binding not happening between service and controller in angularjsangularjs中的服务和控制器之间没有发生数据绑定
【发布时间】:2015-06-29 12:07:26
【问题描述】:

我正在尝试使用服务而不是工厂来执行双向数据绑定,我在网上看到过关于使用工厂的教程,但我更喜欢使用服务而不是工厂,到目前为止我已经想出了按照模式执行绑定,但是在执行 console.log() 时,我发现来自服务的数据没有绑定到控制器上的数据。

 controller: ['$scope','LeadsService','ServiceVehicleModels', function($scope, LeadsService, ServiceVehicleModels) {            

        $scope.colorList = ServiceVehicleModels.colors;
        $scope.yearsList = ServiceVehicleModels.years;


        $scope.$watch(function() { return ServiceVehicleModels.colors }, function(data) {                                
            return $scope.colorList = data.colors;                   
        },true);          

};

这是我的服务代码 出口服务=功能(){

this.colors = [];
this.years = [];

this.trims = [];

var scope = this;   

this.setColors = function(colorsArr) {
    scope.colors = colorsArr;       
};

this.setYears = function(yearsArr) {
    scope.years = yearsArr;
};

};

我需要进行哪些更改才能使数据绑定正常工作?

【问题讨论】:

    标签: javascript angularjs data-binding service


    【解决方案1】:

    您的观察者有问题。这应该解决绑定问题:

    $scope.$watch(function() { return ServiceVehicleModels.colors }, function(colors) {                                
                return $scope.colorList = colors;                   
            },true);     
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 2016-05-28
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      相关资源
      最近更新 更多