我需要使用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());
//}
}
有谁知道怎么做?
答案 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创建一个新范围:)