2017-02-17 42 views
0

当我在我的控制器中使用此代码。我认为ng-model可以根据输入权输出价值吗?当我在更新数据中使用ng模型的值不起作用

NG-模型= “$ scope.title”

但是,当我实现我的代码更新数据。我很困惑,因为ng-model可以输出值,但即使我编辑了标题输入,该值仍然会输出data.title。

我编辑的这种形式在 “tes1234”,但产量仍 “TES”

任何人给我的解决方案?谢谢。

修订

这是我的HTML代码:从API

<div class="form-group"> 
<label class="control-label col-md-3">Title</label> 
<div class="col-md-6"> 
<input type="text" name="title" class="form-control" ng-model="title"> 
</div> 
</div> 

$ scope.result抓取数据,然后我用NG-重复

HttpService("POST", url, param, function(response){ 

      $scope.parsing = angular.fromJson(response.data); 

      $scope.result = {}; 

      angular.forEach($scope.parsing, function(item){ 

       $scope.result[item._id] = item; 


      }); 
     }); 

这是GetData()来抓取d ATA基于点击,并通过我的形式

<tbody ng-repeat="data in result"> 
         <tr> 
          <td> 
           {{$index + 1}} 
          </td> 
          <td> 
           {{ data._id }} 
          </td> 
          <td> 
           {{ data.title }} 
          </td> 
          <td> 
           {{ data.category.label }} 
          </td> 
          <td> 
           {{ data.user.name }} 
          </td> 
          <td width="20%"> 
           <button type="button" class="btn btn-primary" ng-click="getData(data)"><i class="fa fa-edit"></i> Edit</button> 
           <button type="button" class="btn btn-danger"><i class="fa fa-trash"></i> Delete</button> 
          </td> 
         </tr> 
        </tbody> 

这是的GetData()抢基于点击数据,并通过在我的形式

$scope.getData = function(data) { 

    $scope.title = data.title; 

} 

这是我保存数据后更新

$scope.Save = function() { 
    var data = $.param({ 
      title : $scope.title, 
    }); 

    console.log(data); 
}; 

数据对象基于从PI

{ 
    "status": "200", 
    "data": [ 
     { 
      "_id": "589c0484a6551f948e1d6914", 
      "parent_id": 0, 
      "parent_source": 0, 
      "category_id": "58942caba6551fd2c3347371", 
      "user_id": "58942d43a6551fd7123bdcb1", 
      "active": 1, 
      "status": 1, 
      "title": "coba tes", 
      "description": "coba tes", 
      "url": "coba-tes_6llapm", 
      "extra": "EXTRA", 
      "responded": "2017-02-09 12:56:20", 
      "level": 0, 
      "editor_pick": 0, 
      "up_vote": 0, 
      "down_vote": 0, 
      "revision": 0, 
      "answer_count": 2, 
      "updated_at": "2017-02-09 13:04:14", 
      "created_at": "2017-02-09 12:56:20", 
      "tags": [], 
      "user": { 
       "_id": "58942d43a6551fd7123bdcb1", 
       "status": 1, 
       "username": "asdasdad", 
       "email": "[email protected]", 
       "image": "https://scontent.xx.fbcdn.net/v/t1.0-1/p50x50/16299070_1114043338706757_6701359761657365227_n.jpg?oh=7ed22de2d576dc9d3cfd6a89aa386153&oe=5942BC1F", 
       "about": "ini saya, saya suka makan dan belanja", 
       "ref_id": "https://www.facebook.com/app_scoped_user_id/1104332756344482/", 
       "name": "asdasd", 
       "login_ip": "192.168.100.4", 
       "notif_check": "2017-02-03 14:12:03", 
       "token": "$2y$10$EMGp1wWnnPUDRJ/dSybCIeei88jROcAqsAsgXri2l8j/H8FMSt5iS", 
       "updated_at": "2017-02-10 10:52:33", 
       "created_at": "2017-02-03 14:12:03" 
      }, 
      "category": { 
       "_id": "58942caba6551fd2c3347371", 
       "label": "My Kids and I", 
       "active": 1, 
       "url": "my-kids-and-i", 
       "parent_id": 0, 
       "level": 0, 
       "dfp_interest": "[]", 
       "meta_title": "", 
       "meta_description": "", 
       "meta_keyword": "", 
       "updated_at": "2017-02-03 14:09:31", 
       "created_at": "2017-02-03 14:09:31" 
      } 
     }] 
} 
+1

抱歉,但你为什么做$ scope.getData? ..检索标题的价值?? ..这是没有必要的..标题总是绑定(实时)与设置在文本框中的值 –

+0

为什么你不只是做... $ scope.Save = function(){ var data = { title:$ scope.title, }; 控制台。日志(数据); }; –

+0

其中**数据**您的意思是'ng-click =“getData(data)”' –

回答

0

只要改变var data = $.param...$scope.data=$.param...

+0

无法正常工作 – userpr

+0

请控制台记录传递给'$ scope.data'函数的日志'数据'值并查看它记录的内容 –

+0

值未定义 – userpr

0

我已添加演示。

var app = angular.module('myApp', []); 
 
app.controller('customersCtrl', function($scope, $http) { 
 

 
    $scope.result = { 
 
    "status": "200", 
 
    "data": [{ 
 
     "_id": "589c0484a6551f948e1d6914", 
 
     "parent_id": 0, 
 
     "title": "coba tes", 
 
    }] 
 
    } 
 

 

 

 
    $scope.getData = function(data) { 
 
    console.log(data); 
 
    $scope.title = data.title; 
 

 
    }; 
 
    $scope.save = function() { 
 
    console.log($scope.title); 
 
    $scope.title; 
 

 
    } 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="customersCtrl"> 
 

 
    <div class="form-group"> 
 
    <label class="control-label col-md-3">Title</label> 
 
    <div class="col-md-6"> 
 
     <input type="text" name="title" class="form-control" ng-model="title"> 
 
    </div> 
 
    </div> 
 
    <table> 
 
    <tr ng-repeat="data in result.data"> 
 
     <td> 
 
     {{$index + 1}} 
 
     </td> 
 
     <td> 
 
     {{ data._id }} 
 
     </td> 
 
     <td> 
 
     {{ data.title}} 
 
     </td> 
 
     <td> 
 
     {{ data.category.label }} 
 
     </td> 
 
     <td> 
 
     {{ data.user.name }} 
 
     </td> 
 
     <td width="20%"> 
 
     <button type="button" class="btn btn-primary" ng-click="getData(data)"><i class="fa fa-edit"></i> Edit</button> 
 
     <button type="button" class="btn btn-danger"><i class="fa fa-trash"></i> Delete</button> 
 
     </td> 
 
    </tr> 
 
    </table> 
 

 

 
    <button type="button" class="btn btn-primary" ng-click="save()"><i class="fa fa-edit"></i> Save</button> 
 

 
</div>

+0

不工作并显示“无法读取未定义的属性'标题' – userpr

+0

是,您的代码成功获取基于价值的点击,但我的意思是当我更改的值时,输出仍然基于点击。我的预期是当我改变价值,输出也是变化 – userpr

+0

请检查片段,让我知道任何帮助.. – IftekharDani

0

变化getdate函数这样

$scope.getData = function(data) { 
    $scope.title = data[0].title; 
} 
相关问题