2017-02-28 82 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」'代替ID和名稱 – devqon

+0

,因爲我需要的型號有:

PLUNK

ps0604

回答

0

這是解決方案 - 重新創建整個對象:

$scope.changeName = function(){ 
    $scope.ds = { 
    id: $scope.ds.id, 
    name: "New name" 
    }; 
}; 
01我不能http://plnkr.co/edit/zaRdpKjfc6YhErVmkayi?p=preview
0

試着用這一個:

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

我不能,因爲我需要該模型具有ID和名稱 – ps0604