此代码的一些问题,filltable()函数在页面加载期间未触发。 我在webservice中做了后端。
var app = angular.module("myApp", []);
app.controller("myCntrl", function ($scope, $http) {
$scope.fillTable();
$scope.fillTable = function () {
$scope.Name= "";
var httpreq = {
method: 'POST',
url: 'http://localhost:61292/PPAPI.asmx/GetTables',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'dataType': 'json'
},
data: {}
}
$http(httpreq).success(function (response) {
$scope.TableList= response.d;
})
};
$scope.fillTable ();
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular.min.js"></script>
答案 0 :(得分:0)
LT56答案有效,但不推荐使用ng-init
初始化数据。
来自AngularJS Documentation
:
可以滥用此指令将不必要的逻辑量添加到模板中。 ngInit只有少数适当的用途,例如用于别名ngRepeat的特殊属性,如下面的演示所示;并通过服务器端脚本注入数据。除了这几种情况,您应该使用控制器而不是ngInit来初始化作用域上的值。
我建议你使用一个init
函数,你将在JS文件的末尾调用,因为你已经在做了。
关于你的问题,它应该有效。请检查控制台开发人员是否显示任何错误。您可能忘记包含.js
文件。
答案 1 :(得分:0)
根据您的代码工作正常。我在下面的代码中修改了一些拼写错误。
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function($scope) {
$scope.fillTable = function() {
console.log("call");
};
$scope.fillTable();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
</div>
&#13;
答案 2 :(得分:-1)
由于您使用的是角度版本1.2,因此请使用ngInit函数执行初始化代码。在1.6版本中,只需在控制器内创建一个函数调用$ onInit()。
<myControl ng-init="fillTable()"></myControl>