2017-02-28 7 views
0

問題in this plunkを複製するには、フィールドに何かを入力し、行を選択してから「名前の変更」ボタンをクリックします。モデルが変更されたが、角型先行入力フィールドにモデルが反映されていないことがわかります。何かご意見は?角型UIの先行入力でモデルがリフレッシュされない

HTML

<input type="text" ng-model="ds" 
    uib-typeahead="ds as ds.name for ds in queryList($viewValue)" > 

    <p>Model: {{ds}}</p> 

    <button ng-click="changeName()">Change Name</button> 

Javascriptを

var app = angular.module('app', ['ui.bootstrap']); 
app.controller('ctl', function ($scope,$uibModal) { 

    $scope.queryList = function(query) { 
     return [ {id: 1, name: "aaa"}, 
       {id: 2, name: "bbb"}, 
       {id: 3, name: "ccc"}] 
    }; 

    $scope.changeName = function(){ 
     $scope.ds.name = "New name"; 
    }; 

}); 
+1

使用 'NG-モデル= "ds.name"':http://plnkr.co/edit/zaRdpKjfc6YhErVmkayi?p=preview – devqon

+0

私はできない、私はモデルを必要とするので持っていますidと名前 – ps0604

答えて

0

これが解決策である - オブジェクト全体を再作成する:

$scope.changeName = function(){ 
    $scope.ds = { 
    id: $scope.ds.id, 
    name: "New name" 
    }; 
}; 
01代わりに

PLUNK

0

この1を試してみてください:

<input type="text" ng-model="ds.name" 
    uib-typeahead="ds as ds.name for ds in queryList($viewValue)" > 
+0

私はIDと名前を持つモデルが必要なので、私はできません – ps0604

関連する問題