Javascript 使用angular js使用ajax数据更新textfield值

Javascript 使用angular js使用ajax数据更新textfield值,javascript,ajax,angularjs,twitter-bootstrap,Javascript,Ajax,Angularjs,Twitter Bootstrap,我使用angular js指令进行引导。我尝试的是当用户单击项目列表中的edit按钮时,在bootstrap模式上创建一个edit表单。这是我的密码: HTML: 我实现这一点的方法是,当用户单击所选项目的编辑按钮id时,将其传递到我的控制器中,该控制器向服务器发送ajax请求,然后用相应的值填充字段。但是,当返回ajax数据时,不会填充我的字段。在我的代码中发现了问题,我使用$scope进行广播和捕获数据,而我必须使用$rootScope 错: $scope.$broadcast('EditT

我使用angular js指令进行引导。我尝试的是当用户单击项目列表中的edit按钮时,在bootstrap模式上创建一个edit表单。这是我的密码:

HTML:


我实现这一点的方法是,当用户单击所选项目的编辑按钮id时,将其传递到我的控制器中,该控制器向服务器发送ajax请求,然后用相应的值填充字段。但是,当返回ajax数据时,不会填充我的字段。

在我的代码中发现了问题,我使用$scope进行广播和捕获数据,而我必须使用$rootScope

错:

$scope.$broadcast('EditTemplateDataReached', data);
$scope.$on('EditTemplateDataReached', function(data) {
        $scope.eTemplate = data;
        $scope.$apply();
    });
正确:

$rootScope.$broadcast('EditTemplateDataReached', data);
$rootScope.$on('EditTemplateDataReached', function(e, data) {
        $scope.eTemplate = data;
        $scope.$apply();
    });

第一段代码的控制器是什么?TemplateController是向服务器发送ajax请求的控制器。将该值广播到ETModalInstance控制器。是的,但每个控制器都有不同的作用域,因此HTML模板属于哪个控制器?另外,请注意-
ng model=“eTemplate.id”value=“{{eTemplate.id}}”
您不需要在此处设置
value
,因为ng model为您将双向数据绑定到value属性。HTML模板属于模板控制器。无法告诉您。您能用一些更完整的代码制作一个JSFIDLE吗?
$scope.$broadcast('EditTemplateDataReached', data);
$scope.$on('EditTemplateDataReached', function(data) {
        $scope.eTemplate = data;
        $scope.$apply();
    });
$rootScope.$broadcast('EditTemplateDataReached', data);
$rootScope.$on('EditTemplateDataReached', function(e, data) {
        $scope.eTemplate = data;
        $scope.$apply();
    });