【问题标题】:How much of your HTML should be in an angular controller?有多少 HTML 应该在 Angular 控制器中?
【发布时间】:2015-06-06 03:23:37
【问题描述】:

在控制器中存储大段落是不好的做法吗?

例如,你想在一个 ng-repeat 中输出几个大段落,结果你在你的控制器中创建了这个数据结构:

$scope.paragraphs['300 word paragraph','400 word paragraph','200 word paragraph']

<p ng-repeat="paragraph in paragraphs">{{paragraph}}</p>

您基本上在什么时候停止将 HTML 抽象为 javascript?

【问题讨论】:

  • 这个问题的上下文是什么?看起来相当抽象,因为它现在使它基于意见,因此离题
  • 回答你的问题,没有,你的控制器中不应该有任何 HTML。如果您有大量数据要填充到视图中,则可以使用工厂为您提供该数据。包含带字符串的变量很好,但是一旦它们开始变大,您可以将它们移到工厂进行清理。
  • “你什么时候停止将你的 HTML 抽象为你的 javascript” 立即 如果 html 不是数据驱动的(不是来自数据库或网络服务)它应该在模板中。
  • 我的意思是,当然,用它来写更少的 html,但是,这不是你用它的目的。您刚刚将 html 从模板移动到控制器。没有更少的html。
  • 否,除非大部分用户不需要它并且忽略它会显着影响页面大小。

标签: javascript html angularjs


【解决方案1】:

如果您指的是文本和数据,那么您应该将数字后面的文本抽象出来,以便以不同的方式处理它,即翻译或其他。在更大的应用程序中,数据将通过 ajax 传递,因此您希望最小化数据。

【讨论】:

    【解决方案2】:

    我在没有任何数据驱动的情况下制作了一个角度应用程序,因此我使用 ng-repeats 来编写更少的代码。

    答案是我的 HTML 根本不应该在里面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 2013-08-09
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多