ng-click不会触发Angularjs

Kri*_*han 0 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>
Run Code Online (Sandbox Code Playgroud)

当我点击这个链接时,它不会调用该方法.

 Delete = function (Id:number) {
    alert("Called " + Id.toString());
}
Run Code Online (Sandbox Code Playgroud)

然后我改变了这个功能,如下所示.

Delete(charityID: number) {
    var id = charityID;
    alert(id.toString());
}
Run Code Online (Sandbox Code Playgroud)

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

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());
//}
Run Code Online (Sandbox Code Playgroud)

}

有谁知道怎么做?

bas*_*rat 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>
Run Code Online (Sandbox Code Playgroud)

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