ng单击“不在html表中工作”

ng单击“不在html表中工作”,html,angularjs,angularjs-ng-click,Html,Angularjs,Angularjs Ng Click,我试图在表内使用ng click,但它不起作用,而在表外,它起作用很好 下面是HTML <table class="table table-striped"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Section</th>

我试图在表内使用ng click,但它不起作用,而在表外,它起作用很好

下面是HTML

 <table class="table table-striped">
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Section</th>
            <th>Action</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="product in products">
            <td>{{product.ID}}</td>
            <td>{{product.Name}}</td>
            <td>{{product.Section}}</td>
            <td><input type="button" name="name" value="Delete" class="btn btn-danger" ng-click="deleteProduct({{product.ID}});" /></td>
        </tr>
    </tbody>
</table>

身份证件
名称
部分
行动
{{product.ID}
{{product.Name}
{{product.Section}
单击
Delete
按钮
deleteProduct
方法不会调用。

尝试以下操作:-

ng-click="deleteProduct(product.ID)"
问题:

<div ng-controller="mainCtrl">
    <table class="table table-striped">{{msg}}
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Section</th>
            <th>Action</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="rule in rules">
            <td>{{rule.ID}}</td>
            <td>{{rule.Name}}</td>
            <td>{{rule.Section}}</td>
            <td><input type="button" name="name" value="Delete" class="btn btn-danger" ng-click="deleteProduct(rule.ID)" /></td>
        </tr>
    </tbody>
</table>
</div>
angular.module('myapp', []).controller('mainCtrl', ['$scope', function($scope){
    var data = [
        {
            ID : "1",
            Name : "A1",
            Section : "A1"
        },
        {
            ID : "2",
            Name : "A2",
            Section : "A2"
        },
        {
            ID : "3",
            Name : "A3",
            Section : "A3"
        },
        {
            ID : "4",
            Name : "A4",
            Section : "A4"
        }
    ];

    $scope.rules = data;

    $scope.deleteProduct = function(id){
        alert(id);
        // delete your item here
    };
}]);
  • 您正在遍历名为rules的集合/对象,并将单个项作为rule获取。因此,您应该使用
    规则访问每个单项属性。yourProperty
    。产品是怎么来的

  • 您不需要任何双花括号来单击函数参数。只需传递对象的属性。ng click指令就是这样工作的

  • HTML:

    <div ng-controller="mainCtrl">
        <table class="table table-striped">{{msg}}
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Section</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="rule in rules">
                <td>{{rule.ID}}</td>
                <td>{{rule.Name}}</td>
                <td>{{rule.Section}}</td>
                <td><input type="button" name="name" value="Delete" class="btn btn-danger" ng-click="deleteProduct(rule.ID)" /></td>
            </tr>
        </tbody>
    </table>
    </div>
    
    angular.module('myapp', []).controller('mainCtrl', ['$scope', function($scope){
        var data = [
            {
                ID : "1",
                Name : "A1",
                Section : "A1"
            },
            {
                ID : "2",
                Name : "A2",
                Section : "A2"
            },
            {
                ID : "3",
                Name : "A3",
                Section : "A3"
            },
            {
                ID : "4",
                Name : "A4",
                Section : "A4"
            }
        ];
    
        $scope.rules = data;
    
        $scope.deleteProduct = function(id){
            alert(id);
            // delete your item here
        };
    }]);
    

    您是否尝试在interweb上搜索ng repeat creates子作用域?表达式{{}用于将应用程序数据绑定到html。