簡體   English   中英

Angular:在范圍內更新范圍

[英]Angular: update scope inside scope

我有2個范圍的控制器:

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

和一個輸入字段:

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

當我使用輸入字段更改value1時(有效),value2不會更新。 我該如何進行這項工作?

您可以在聲明對象時遵循點規則。 那會給你原型繼承的東西。 param1param2都將引用對象的相同副本。 這樣,更新一個將自動更新另一個。

標記

<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' 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM