Angularjs 角度ui和如何绑定模态表单输入

Angularjs 角度ui和如何绑定模态表单输入,angularjs,angular-ui,angular-ui-bootstrap,Angularjs,Angular Ui,Angular Ui Bootstrap,我目前正在学习AngularJS,只是在玩ui引导 我已经用一个表单创建了一个简单的模式,我正在尝试绑定到主页面上的属性,从主页面调用模式 例如,更新模式和属性中的名称。在后台进行更新 我不明白为什么它不起作用。从同一控制器调用模态,并更新模态中的属性 我的模型如下所示: <div ng-controller="LocationsCtrlGet"> <div class="modal-header"> <h3 class="modal-title">

我目前正在学习AngularJS,只是在玩ui引导

我已经用一个表单创建了一个简单的模式,我正在尝试绑定到主页面上的属性,从主页面调用模式

例如,更新模式和属性中的名称。在后台进行更新

我不明白为什么它不起作用。从同一控制器调用模态,并更新模态中的属性

我的模型如下所示:

<div ng-controller="LocationsCtrlGet">
  <div class="modal-header">
    <h3 class="modal-title">I'm a modal for {{ location.location_name }}</h3>
  </div>
  <div class="modal-body">
    <form ng-submit="save(location)" ng-model='location'>
    <div class="form-group row">
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
        <input ng-model="location.location_name" class='form-control' placeholder='Location name'>
      ...

如果我把表单放在主html中,它就可以正常工作。而且,正如我所说,它会更新模式中的属性。

您应该绑定到ModalInstanceCtrl范围内的字段,而不是您的LocationsCtrl

在模态视图中,有ng控制器指令和控制器定义的$modal.open方法。删除ng控制器指令

<div>
  <div class="modal-header">
    <h3 class="modal-title">I'm a modal for {{ location.location_name }}</h3>
  </div>
  <div class="modal-body">
    <form ng-submit="save(location)" ng-model='location'>
    <div class="form-group row">
     <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
        <input ng-model="location.location_name" class='form-control' placeholder='Location name'>
  ...

在你的例子中,你没有发布你的ModalInstanceCtrl。在此情况下,您应该具有提交表单的操作

嗯。你能发布一个例子吗?我已经发布了一个视图的例子。请更新您的示例以包含ModalInstanceCtrl,这是您将字段绑定到的控制器。实际上,问题是我是从指令中的模板调用的。当我把它放在页面上时,效果很好。我真的不明白为什么它还不起作用,但稍后会发现这一点。
app.controller('LocationsCtrlGet', ['$scope', '$routeParams', '$modal', 'Location',
  function($scope, $routeParams, $modal, Location) {

  $scope.location = Location.get({id: $routeParams.id}, function(data) {
    $scope.loading = false
  })

  $scope.open = function (size) {
    var modalInstance = $modal.open({
      templateUrl: 'partials/locations/editLocationModal',
      controller: ModalInstanceCtrl,
      size: size
    });
    ...
<div>
  <div class="modal-header">
    <h3 class="modal-title">I'm a modal for {{ location.location_name }}</h3>
  </div>
  <div class="modal-body">
    <form ng-submit="save(location)" ng-model='location'>
    <div class="form-group row">
     <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
        <input ng-model="location.location_name" class='form-control' placeholder='Location name'>
  ...