将变量传递给函数 - AngularJS

时间:2015-04-02 16:16:32

标签: angularjs

我有以下html:

<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

2 个答案:

答案 0 :(得分:1)

您不需要使用scape用户ID,因为您已经在&#34;代码&#34;。

尝试:

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

答案 1 :(得分:1)

只需传递user_id而不是{{user_id}}

您的变量在范围内,因此任何值都将直接获取。