传递变量成一个函数 - AngularJS

传递变量成一个函数 - AngularJS

问题描述:

我有以下HTML:传递变量成一个函数 - AngularJS

<button id="capIt" class="preview" ng-click="saveCaption('{{ user_id }}')"> 
    <i class="fa fa-floppy-o"></i> Save It! 
</button> 

其中,在DOM检查时,转换为例如这样的:

<button id="capIt" class="preview" ng-click="saveCaption('123')"> 
    <i class="fa fa-floppy-o"></i> Save It! 
</button> 

我有我的控制器内的函数:

capApp.controller('mainController', 
    ['$scope', '$http', '$rootScope', '$location', 
     function($scope, $http, $rootScope, $location) { 
      $scope.saveCaption = function(user_id) { 
      console.log('clicked '+user_id); 
      // plus other stuff but that's irrelevant 
      } 
    }]);

但点击该按钮时我在控制台中看到的是这样的:

clicked {{ user_id }} 

为什么码是否正确在DOM但功能变得{{ user_id }},而不是123

只是传递的user_id代替{{user_id}}

你的变量范围,因此任何值将被直接接走。

您不需要检查用户标识,因为您已经在“代码”中。

尝试:

<button id="capIt" class="preview" ng-click="saveCaption(user_Id)"> 
    <i class="fa fa-floppy-o"></i> Save It! 
</button>