无法从ng-click获取从$ http服务获得的数据

时间:2014-05-06 17:15:08

标签: javascript angularjs

以下是我controller的一部分:

function($scope, $http, $stateParams, $timeout, $q, $ionicPopup, $ionicActionSheet){
    $http.get('topics/' + $stateParams.subTopicId + '.json').
    success(function(data, status,header, config) {
        $scope.questions = data;
    });
}

现在这是我view的一部分:

<button ng-click="someFunc('{{questions[qNum].opt1}}')">
    {{questions[0].opt1}} 
</button>

In the above view {{questions[0].opt1}} works perfectly. But when passed as an arg to ng-click it becomes empty.

再次在我的controller

 function someFunc(aValue){
        alert(aValue); // Empty
    }

为什么变量aValue的值为空。

另一方面,如果,我直接在我的控制器中声明$scope.questions,如下所示:

$scope.question = [
                   { ... }
                  ];

然后someFunc正确显示变量的值。这里发生了什么? 我做错了什么?

1 个答案:

答案 0 :(得分:2)

试试这个:

<button ng-click="someFunc(questions[qNum].opt1)">

此外,在显示属性时,您显式绑定到元素0,但在ng-click中,您使用的是变量qNum,因此请确保已定义。