AngularJS如何在页面加载时选择和初始化函数

时间:2017-02-20 07:29:08

标签: angularjs

在AngularJS中

目标:如何获取所有类别(按钮)在页面加载或刷新时突出显示和初始化(例如可能使用ng-init或ng-options)

控制器

$scope.selectCategory = function(newCategory) {
  $scope.bottomValue = newCategory;
  selectedCategory = newCategory;
  $scope.selectedPage = 1;

}

$scope.categoryFilterFn = function(product) {
  return selectedCategory == null ||
    product.category == selectedCategory;
}

$scope.getCategoryClass = function(category) {
  return selectedCategory == category ? productListActiveClass : "";

}

$scope.getCategory = function(category) {
  return categorySelected == category;

}

HTML

<a ng-click="selectCategory()" class="btn btn-block btn-default btn-lg" style="margin-bottom:6px">All Categories</a>



<a ng-repeat="item in data.products | filter:{edition:    data.editions[whichEdition].name}| filter:approved=true |  orderBy:itemOrder:direction | orderBy:'-category' | unique:'category' " ng-click="selectCategory(item)" class=" btn btn-block btn-default btn-lg"
ng-class="getCategoryClass(item)">
                {{item}}
</a>

4 个答案:

答案 0 :(得分:2)

我更喜欢在控制器而不是ng-init中使用init函数,因为在ng-init之前调用了init函数,我已准备好渲染所有内容。 在您的视图控制器中。

<input type="checkbox" id="checkbox" />

$(window).load(function(){
 $('#checkbox').prop( 'checked', true ); 
});

答案 1 :(得分:2)

所以无论你想在页面加载上做什么,都可以在$scope.init这样的单一方法中编写一个方法,并使用它来调用它

<div ng-controller="controllerName" ng-init="init()">

这是,如果你想在页面加载上做所有事情。

答案 2 :(得分:0)

使用anguls的$ window.onLoad。

$window.onload = function(param) {
  //your code here
  alert(param);
}

或者您可以将ng-init指令与ng-controller -

一起使用
<div ng-controller="yourController" ng-init="yourMethod(param)">

这是你的控制器 -

var app = angular.module('DemoApp', [])
app.controller('yourController', function($scope) {
  $scope.yourMethod = function(param) {
    alert(param.toString());
  }
});

答案 3 :(得分:0)

可以使用Yauza说或者你也可以使用,,,,

loadAllFunction() function loadAllFunction(){ //Your code }