javascript - 使用 AngularJS 组织代码的最佳方式是什么?

标签 javascript angularjs

我正在创建一个应用程序,并且使用了 ui 路由器,所有 html 数据都附加到此标记:

 <div class="app" ui-view >

但是我想在我的应用程序中包含页眉和页脚,我的问题是 - 在 index.html 中使用这样的内容是否更好:

<div ng-controller="top" header></div>
  <div class="app" ui-view >
<div ng-controller="bottom" footer></div>

或者我应该在每个 html 页面中包含两个指令 - 页眉和页脚。

最佳答案

为什么不让这些东西成为自定义元素指令,并拥有自己的 Controller 呢?这样,您就可以这样设置:

<ui-header></ui-header>
<ui-view></ui-view>
<ui-footer></ui-footer>

这是“AngularJS 方式”来做到这一点。它使 HTML 更具可读性,也更加简洁。这些指令中的每一个都将有一个模板,作为字符串或在指令创建期间指向的文件中。看起来像这样:

app.directive('uiHeader', function() {
  return {
    restrict: 'E',
    templateUrl: '/path/to/template.html',
  };
});

以上内容会将模板文件的内容放置在您放置 <ui-header></ui-header> 的位置。还可以为每个指令定义一个 Controller ,并允许每个指令都有自己的作用域。您可以阅读有关创建自定义指令的更多信息 here .

关于javascript - 使用 AngularJS 组织代码的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25247312/

相关文章:

javascript - sequelize rollback 不适用于 promise.all

Javascript 分割负数并删除负数

javascript - IE8 的 Object.defineProperty 替代品

javascript - 使用 AngularJS $resource 发布

angularjs - 服务器端语言比其他语言更适合基于 angularJS 的应用程序?

javascript - 如何在 helper 中使用 unobustrive JS 重构 link_to_function ?

javascript - django 模板内的表单未监听 keyup 事件

javascript - 模块 'ui.bootstrap' 不可用-Angularjs

javascript - 按状态过滤 ng-repeat

javascript - Angular - (有效的 JSON)fromJSON - JSON 中位置 0 处出现意外标记