您好我是angularJS的新手,我尝试在angularJS中使用onload函数。我创建了一个控制器,并在该控制器中使用$ scope.init获取记录形式的mysql数据库。我正在使用laravel框架。 这是我的观看代码
<div class="navbar-collapse collapse" id="navbar" ng-controller="NotificationsCtrl"> </div>
这是我的控制器代码
app.controller('NotificationsCtrl', function($scope, $http, $window, $timeout){
var user_id = sessUser.user_id;
alert(user_id);
$scope.init = function()
{
$scope.getNotificationList();
};
$scope.getNotificationList = function()
{
$scope.dataLoading = true;
$http.get(siteUrl+"notification/getNotificationList/"+user_id).then(function(response)
{
alert(response);
});
};
});
这是我的路线
Route::get('notification/getNotificationList/{user_id}', 'ProjectController@getNotification');
这是我的laravel控制器
public function getNotification($id)
{
echo $id;
}
请帮助我,我想我犯了一个错误。
答案 0 :(得分:0)
您可以使用&#39; ng-init&#39;您的标记指令在这里是文档:
http://www.w3schools.com/angular/angular_directives.asp
只需在ng-init中调用init函数或在控制器末尾调用$ scope.init()
答案 1 :(得分:0)
$scope.init = function()
{
$scope.getNotificationList();
};
$scope.init();
答案 2 :(得分:0)
你需要像这样编写你的控制器。你不是在调用你的init方法。除非使用with view,否则不需要编写范围函数。
app.controller('NotificationsCtrl', function($scope, $http, $window, $timeout){
var user_id = sessUser.user_id;
alert(user_id);
var getNotificationList = function()
{
$scope.dataLoading = true;
$http.get(siteUrl+"notification/getNotificationList/"+user_id).then(function(response)
{
alert(response);
});
};
var init = function()
{
getNotificationList();
};
init(); //call here init
}