【发布时间】:2017-08-08 10:38:59
【问题描述】:
我有一个角度控制器,它使用 $http.get() 方法获取数据。我将响应数据分配给 $scope.foo 和 $scope.bar。
然后我使用 ng-model="foo" 将 $scope.foo 绑定到输入字段,然后使用 ng-click="buttonClick()" 将 $scope 函数 $scope.buttonClick 绑定到按钮。
当我更改输入字段的值并选择按钮时,$scope.buttonClick 会同时输出 $scope.foo 和 $scope.bar,它们似乎与新输入的值匹配。这很奇怪,因为我只绑定了 $scope.foo。为什么会发生这种情况,我该如何解决?
控制器:
angular.module('app')
.controller('controller', ($scope, $http) => {
$document.ready(() => {
$http.get('/data').then((res) => {
$scope.foo = res.data;
$scope.bar = res.data;
});
$scope.buttonClick = () => console.log($scope.foo, $scope.bar);
});
});
(使用 ES6 语法) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
【问题讨论】:
标签: javascript angularjs angularjs-scope