Jar*_*rno 2 javascript angularjs angularjs-scope angularjs-ng-change angularjs-ng-model
我有一个2个范围的控制器:
app.controller('search', function($scope) {
$scope.value1 = '';
$scope.value2 = 'Some text' + $scope.value1;
}
Run Code Online (Sandbox Code Playgroud)
和输入字段:
<input type="text" ng-model="value1">
Run Code Online (Sandbox Code Playgroud)
当我使用输入字段(有效)更改value1时,value2不会更新.我怎样才能做到这一点?
您可以在声明对象时遵循点规则.那会给你原型继承的东西.这两个param1¶m2将参考对象的相同副本.因此更新一个会自动更新另一个.
标记
<input type="text" ng-model="param1.value">
<input type="text" ng-model="param2.value">
Run Code Online (Sandbox Code Playgroud)
调节器
app.controller('search', function($scope) {
$scope.param1 = {value : ''};
$scope.param2 = $scope.param1;
}
Run Code Online (Sandbox Code Playgroud)
更新
如果你想将这些变量保持为原始状态,那么你应该在某些事件上更新它们,就像在这里你可以通过using ng-change指令来实现它
标记
<input type="text" ng-model="value1" ng-change="value2 = value1 + ' something'">
Run Code Online (Sandbox Code Playgroud)
或者只是您可以将内联html代码移动到控制器功能以使其可测试.
标记
<input type="text" ng-model="value1" ng-change="changedValue()">
Run Code Online (Sandbox Code Playgroud)
码
$scope.changedValue = function(){
$scope.value2 = $scope.value1 + ' something'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |