ng-click不会触发Angularjs

时间:2013-07-25 10:57:51

标签: angularjs typescript

我需要使用angular.js从视图中调用类型脚本中的函数。我使用的技术是angular.js打字稿和ASP.Net MVC3。

这是UI中的链接。

<div id="left_aside" ng-controller="MyGivingPortfolioController">
 <div class="charity_portfolio_tile" ng-repeat="Tile in VM.Tiles.TileContainerEntity" >
    <a href="#" ng-click="Delete(Tile.Id)" class="delete_button">delete</a>
 </div>

当我点击此链接时,它不会调用该方法。

 Delete = function (Id:number) {
    alert("Called " + Id.toString());
}

然后我改变了这个功能如下。

Delete(charityID: number) {
    var id = charityID;
    alert(id.toString());
}

虽然我改变了代码,但它没有用。其实我不知道原因。

class MyController implements IMyController {


Tiles: TileContainerEntities;

constructor($scope, $http: ng.IHttpService) {
    $scope.VM = this;
    $http.get("/API/PrivateAPI/Test/1").success((responce) =>{this.BusinessReponseList = responce;  });
}



Delete = function (Id:number) {
    alert("Called " + Id);
}

//Delete(charityID: number) {
//    var id = charityID;
//    alert(id.toString());
//}

}

有谁知道怎么做?

1 个答案:

答案 0 :(得分:6)

将href的ng-click修改为ng-click="VM.Delete(Tile.Id)"

即:

<div class="charity_portfolio_tile" ng-repeat="Tile in VM.Tiles.TileContainerEntity" >
      <a href="#" ng-click="VM.Delete(Tile.Id)" class="delete_button">delete</a>
</div>

只是与答案没有直接关系的有用信息:请注意范围继承:http://youtu.be/WdtVn_8K17E?t=5m34s。 ng-repeat创建一个新范围:)