2014-01-23 246 views
2

嗨我有一個奇怪的雙向綁定,我不能理清的情況。我有3個不同的文本輸入字段,第4個是其他三個字符串的連接。例如:Angularjs雙向綁定

Text1: A 
Text2: B 
Text3: C 
Text4: A/B/C 

我真的很想爲Text4自動更新爲任何Text 1,2 or 3被更新,而且反之亦然!

任何想法?我完全難倒這...

乾杯, 喬恩

回答

2

只要你有一個分隔符(因爲它似乎你使用「/」),這是非常簡單的。

首先我們的HTML:

Text 1: <input ng-model="text1"> 
Text 2: <input ng-model="text2"> 
Text 3: <input ng-model="text3"> 
Text 4: <input ng-model="text4"> 

然後,我們會做2隻手表,每個方向一個:

從1,2,3 4。這將1,2,3與我們的分離器連接在一起,並看重它們的價值。如果連接的結果發生變化,那麼我們用結果更新4。

$scope.$watch (
     function() { 
     return $scope.text1+'/'+$scope.text2+'/'+$scope.text3; 
     },function(newval) { 
      $scope.text4 = newval; 
     }); 

從4至1,2,3我們把手錶放在4,當它使用分離器分離改變了1,2和3:

$scope.$watch ('text4', 
     function(newval) { 
      texts = newval.split("/"); 
      $scope.text1 = texts[0]; 
      $scope.text2 = texts[1]; 
      $scope.text3 = texts[2]; 
     }); 

Working fiddle

+0

哇驚人。謝謝。我想我不得不做一些與「觀看」相關的東西,但我仍然很新。非常感謝你讓我看到這個! – Jonno