gpt4 book ai didi

javascript - 在页面加载时使用 ng-class 在 div 上设置一个类

转载 作者:行者123 更新时间:2023-11-30 13:08:16 25 4
gpt4 key购买 nike

如标题所示,我正在尝试使用 Angular ng-class 在页面加载时(而不是点击时)在 div 上设置一个类,但我不知道如何或是否可以是可能的。 div 被包裹在一个模块和 Controller 中,我之前试图用 $scope.frontpage 设置变量,但没有成功。

<div id="main" role="main" class="clearfix" data-ng-module="ValidationBoxModule" ng-controller="ValidationBoxClassController">
<div validation-id="dataValidationSummary" validation-summary ng-class="frontpage" ></div>
<asp:ContentPlaceHolder ID="MainContentPlaceHolder" runat="server"></asp:ContentPlaceHolder>
</div>

angular.module("ValidationBoxModule", []).controller("ValidationBoxClassController", ["$scope", function ($scope) {

$scope.frontpage = "";

($("#main").find(".sliderBox")) ? $scope.frontpage = "frontpage" : $scope.frontpage = "";
}]);

那么有什么办法吗?

最佳答案

您尝试做的不是 Angular 方式。如:“不要在 Controller 中进行 DOM 操作”。而是使用指令,例如:

function Ctrl($scope) {
$scope.frontpage = false;
}

angular.module('app', ['app.directives']);

angular.module('app.directives', []).directive('isFrontpage', function () {
return {
restrict: 'A',
link: function (scope, element) {
scope.frontpage = angular.element(element).find('#main .sliderBox').length > 0;
}
};
});

与:

<body ng-controller="Ctrl" is-frontpage>
<div id="main">
<div class="sliderBox"></div>
</div>

<div
validation-id="dataValidationSummary"
validation-summary
ng-class="{frontpage: frontpage}">
</div>
</body>

演示:http://jsbin.com/unihon/4/

关于javascript - 在页面加载时使用 ng-class 在 div 上设置一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com