gpt4 book ai didi

javascript - AngularJS 逻辑应该放在 HTML 文件中吗?

转载 作者:太空狗 更新时间:2023-10-29 13:12:26 26 4
gpt4 key购买 nike

我想重构我在下面发布示例的代码。我对 AngularJS 很陌生。现在当我看到代码时,我很好奇 HTML 代码中的所有逻辑。

<p ng-show="countForm.count.$dirty && countForm.count.$error.min" class="error-message">

<button ng-click="step(2)" ng-show="data.step == 1 && countForm.count.$dirty" ng-disabled="countForm.$invalid" class="line-break">

<div ng-class="{selected: data.spreadChoice == 3}" ng-click="data.spreadChoice = 3; step(3)" ng-mouseover="data.preSpreadChoice = 3" ng-mouseout="data.preSpreadChoice = data.spreadChoice">

<div ng-show="data.step >= 2" class="step" ng-class="{active: data.step == 3, done: data.step > 3, left: data.preSpreadChoice == 1, right: data.preSpreadChoice == 3}" ng-scroll-here="data.step == 3">

<p ng-switch-when="false" class="large">[[data.emails.length]] von [[data.count]] – <span class="red">[[Math.max(0,data.count-data.emails.length)]]</span> Members</p>

<div ng-show="data.step >= 5 && data.multipleTeams" class="step" ng-class="{done: data.step > 5, active: data.step == 5}" ng-scroll-here="data.step == 5">

<button class="small" ng-disabled="!unitsForm.$dirty || unitsForm.$invalid" ng-click="addUnit(data.nextTeam, data.nextTeamleaderEmail)">

HTML 不应该包含类或属性,而逻辑 本身应该放在 JS 文件或 JS 代码中吗?这是开发 AngularJS 的好方法(或者至少是常见的方法)吗?还是应该避免在 HTML 中放置逻辑?

最佳答案

如果你问我:

  1. 客户端业务逻辑位于注入(inject)指令\ Controller 的服务中。
  2. UI 逻辑应该放在 Controller 中。

现在关于向 View 添加逻辑,如果我们谈论的是业务逻辑,那么它是一个大不可以。在您的 Controller 上使用一种方法来评估使用该服务的内容。

如果我们谈论的是 ng-if/ng-show 条件,那么只有当它们很小且“可读”条件时,我才会将它们添加到 View 中。如果不止于此,我将它们移至 Controller 以解决调试问题,因为我相信 HTML 应该是可读的。

关于javascript - AngularJS 逻辑应该放在 HTML 文件中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24838964/

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