ページロード時にangularjs関数(DeptSpecific)を呼び出し、IDをハードコードされたパラメータとして渡したいとします。そして、私はng-init = "DeptSpecific( '1')"を経由しています。私はangularjsを学んでいます。私はどのように関数を呼び出して、ページロード時に何かクリックや何もせずにパラメータを渡す方法を提案してください。あなたがなぜng-initを使用したのか考えているのですが、これは間違っているかもしれませんが、関数がうまく呼び出されていない特定の理由はありませんが、デバッガ(f12)では$ scope.siが未定義ID。MVC 4とangularjsを使用していますが、実際にはページロード時に角度js関数を呼び出したい
$scope.DeptSpecific = function (ID) {
var BelongsToThisDepartment = [];
$http.get('/Department/getDept').success(function (response) {
$scope.departments = $scope.$eval(response);
});
angular.forEach($scope.departments, function (item1) {
if (item1.ID == ID) {
BelongsToThisDepartment.push(item1);
}
})
$scope.s = $scope.$eval(angular.toJson(BelongsToThisDepartment));
// console.log(JSON.stringify($scope.s));
}
<div ng-app="MyApp">
<div ng-controller="MyController">
<table class="tableData" border="0" cellspacing="0" cellpadding="0" ng-init="DeptSpecific('1')">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>NAME</th>
<th>LOCATION</th>
</tr>
</thead>
<tbody ng-repeat="O in s">
<tr ng-class-even="'even'" ng-class-odd="'odd'">
<td class="CX" ng-click="student(O.ID)"><span>+</span></td>
<td>{{O.ID}}</td>
<td>{{O.Name}}</td>
<td>{{O.Location}}</td>
</tr>
ここで、MyControllerのコードはありますか?それはあなたがMyControllerに$スコープを挿入しないという縫い目です。 – Merlin
いいえ...私はこの記事で完全なコードをコピー&ペーストすることができませんでした。 –
コントローラのコードを追加してください – Merlin