如何从Handlebars文件(.hbs)传递Angularjs控制器中的参数?

时间:2016-03-07 15:18:09

标签: javascript angularjs handlebars.js

我使用把手作为我的视图模板与Angularjs的混合。我陷入了一种情况,我有一个循环,其中我将所有元素显示为可点击的URL,点击时应该将值传递给控制器​​。

我编写的代码:

 <tbody>

{{#each continueDiscovery}}
    <tr>
        <td headers="name"><a href="" ng-model="result" ng-value={{productName}} ng-click="productDiscovery(result)">{{productName}}</a></td>
        <td headers="name"><a href="">{{user}}</a></td>
    </tr>

{{/each}}
</tbody>

Angular.js控制器代码:

$scope.productDiscovery = function(productName){



    alert("Task Id is "+productName);
    var productName = $scope.productName;

    console.log($scope.productName)
    console.log(productName)


};

但我一直将productName作为undefined

2 个答案:

答案 0 :(得分:0)

尝试类似:

 <tbody>

{{#each continueDiscovery}}
    <tr>
        <td headers="name"><a href="" ng-model="result" ng-value={{productName}} ng-click="productDiscovery()">{{productName}}</a></td>
        <td headers="name"><a href="">{{user}}</a></td>
    </tr>

{{/each}}
</tbody>


var productName = $scope.result;

$scope.productDiscovery = function(){
    alert("Task Id is "+productName);
};

答案 1 :(得分:0)

手柄具有与打印数据相同的语法,并且在使用两者时优先于Angular。

<tbody>

{{#each continueDiscovery}}
    <tr>
        <td headers="name"><a href="" name="productName" ng-click="productDiscovery('{{productName}}')">{{productName}}</a></td>
        <td headers="name"><a href="">{{user}}</a></td>
    </tr>

{{/each}}
</tbody>