2

更新範圍我有2個範圍的控制器:角:內部範圍

app.controller('search', function($scope) { 
    $scope.value1 = ''; 
    $scope.value2 = 'Some text' + $scope.value1; 
} 

和輸入字段:

<input type="text" ng-model="value1"> 

當我改變與輸入字段值1(工作),值2不會更新。我該如何做這項工作?

+1

只有對象是通過參考傳中JS - 不原語。 – tymeJV

回答

5

您可以在聲明對象時遵循點規則。那會給你prototypal inheritance的事。 param1 & param2將引用同一個對象副本。所以更新一個會自動更新另一個。

標記

<input type="text" ng-model="param1.value"> 
<input type="text" ng-model="param2.value"> 

控制器

app.controller('search', function($scope) { 
    $scope.param1 = {value : ''}; 
    $scope.param2 = $scope.param1; 
} 

Demo Plunkr

更新

如果你想保持這些變量作爲基本那麼你應該向他們介紹一些事件一樣在這裏您可以通過使用ng-change指令

標記

<input type="text" ng-model="value1" ng-change="value2 = value1 + ' something'"> 

做,或乾脆你可以內嵌移動html代碼給你的控制器功能,使其可測試。

標記

<input type="text" ng-model="value1" ng-change="changedValue()"> 

代碼

$scope.changedValue = function(){ 
    $scope.value2 = $scope.value1 + ' something' 
} 
+0

感謝您的回答Pankaj!我忘了提及2個示波器不應該完全相同。我編輯了我的問題。當我在你的例子中改變它時,它似乎不起作用。 – Jarno

+0

@Jarno是否將它們都用作輸入元素? –

+0

不僅value1鏈接到輸入。 – Jarno