2013-10-09 66 views
1

我在我的項目中使用angular.js。在模板中,我有:根據其他填充一個輸入字段

<div class='form-group'> 
    <label>Field 1</label> 
    <input type='text' ng-model='f1' required class="form-control"> 
</div> 


<div class='form-group'> 
    <label>Field 2</label> 
    <input type='text' ng-model='f1' required class="form-control"> 
</div> 

controller現在僅使用一個模型$scope.f1

我想預填充Field 2基於Field 1。但由於我使用相同型號 ,如果我在Field 2中寫了一些東西,則會覆蓋Field 1

我不想要這種行爲。我應該可以在不影響Field 1的情況下編輯Field 2

有沒有辦法實現這種行爲?

回答

5

您可以使用$watch,它會註冊一個監聽器回調,以便在watchExpression更改時執行。

$scope.$watch(function() { 
    return $scope.f1; 
}, 
function (newValue, oldValue) { 
    $scope.f2 = $scope.f1; 
}, true); 

Working Demo

+0

優雅!但需要注意的是,你的第二個字段綁定到另一個變量('f2') – Cherniv

+1

@Cherniv,請參閱演示我希望能夠處理您的疑慮 – Satpal

+0

@Satpal。非常感謝。差不多,$ watch處理我所關心的問題。我正在玩那裏的代碼。感謝發佈演示,非常有幫助:) –

相關問題