Javascript 如何在单击时更改$scope中变量的值?

Javascript 如何在单击时更改$scope中变量的值?,javascript,angularjs,Javascript,Angularjs,我想在用户单击特定URL时将$scope.complete的值更改为false。这有可能做到吗 我根据这个变量向用户显示信用卡表单。在第一页加载时,根据来自服务器端的值,变量为true/false,该值表示文件中是否有信用卡 如果档案中有信用卡,那么我希望有一个changeurl。单击时,会将$scope.complete的值更改为false,并显示信用卡表单 这是我目前的代码: JS $scope.complete=false; djangoAuth.profile().then(函数(数据)

我想在用户单击特定URL时将
$scope.complete
的值更改为
false
。这有可能做到吗

我根据这个变量向用户显示信用卡表单。在第一页加载时,根据来自服务器端的值,变量为true/false,该值表示文件中是否有信用卡

如果档案中有信用卡,那么我希望有一个
change
url。单击时,会将
$scope.complete
的值更改为false,并显示信用卡表单

这是我目前的代码:

JS

$scope.complete=false;
djangoAuth.profile().then(函数(数据){
$scope.model=数据;
如果($scope.model.profile.stripe\u id.length)

查看此小提琴显示ng click on archive()


$scope.archive=函数(){
var oldTodos=$scope.todos;
$scope.todos=[];
角度.forEach(oldTodos,function(todo){
如果(!todo.done)$scope.todos.push(todo);
});
};
这不是我的小提琴,但演示了如何使用它

文件也载于:


您可以将函数绑定到ng cick,并让函数更改属性的值:

var myApp=angular.module('myApp',[]);
函数MyCtrl($scope){
$scope.complete=true;
$scope.change=函数(){
$scope.complete=false;
};
}

从这里开始
信用卡已经存档了。
JS

$scope.complete=false;
djangoAuth.profile().then(函数(数据){
$scope.model=数据;
//默认范围
$scope.complete=true;
$scope.change=函数(){
$scope.complete=true;
}
如果($scope.model.profile.stripe\u id.length)

您阅读过文档吗?因为
ng click
是基本指令之一。大多数教程在示例中都使用它。您所说的“用户单击特定URL”是什么意思?实际上您甚至不需要函数。
  $scope.complete = false;
  djangoAuth.profile().then(function(data){
    $scope.model = data;
    if ($scope.model.profile.stripe_id.length <= 0)
      $scope.complete = false;
    else
      $scope.complete = true;
  });
<div ng-if="complete == false">
 <!--show form-->
</div>
<div ng-if="complete == true">
 Credit card already on file. <a href="#">Change?</a>
</div>
  <a href="" ng-click="archive()">archive</a>

  $scope.archive = function() {
    var oldTodos = $scope.todos;
    $scope.todos = [];
    angular.forEach(oldTodos, function(todo) {
      if (!todo.done) $scope.todos.push(todo);
    });
  };
$scope.complete = false;
  djangoAuth.profile().then(function(data){
    $scope.model = data;
    // default scope
    $scope.complete = true;
    $scope.change = function(){
        $scope.complete = true;
    }
    if ($scope.model.profile.stripe_id.length <= 0)
      $scope.complete = false;
    else
      $scope.complete = true;

  });
<div ng-if="complete == false">
 <!--show form-->
</div>
<div ng-if="complete == true">
 Credit card already on file. <a ng-click="change()" ng-href="#">Change?</a>
</div>