AngularJS 多页面应用程序网站样板网站结构建议

2024-01-04

我正在寻找一些有关创建由 Laravel 后端服务的 AngularJs 多页面应用程序的指导。网上的所有 Web 应用程序教程都指向创建 SPA,而我刚刚开始使用 Angular - 所以请对我放轻松。

产品页面示例 -http://example.com/products/widget http://example.com/products/widget

<html data-ng-app='ExampleApp'>
    <head>
    </head>
    <body data-ng-controller='ProductController'>
        // ProductPage Content Served by laravel with angular tags

        <script type="text/javascript" src="/js/lib/angular.min.js"></script>
        <script type="text/javascript" src="/js/app.js"></script>
        <script type="text/javascript" src="/js/controllers/ProductController.js"></script>
    </body>
</html>

购物车页面示例 -http://example.com/cart http://example.com/cart

<html>
    <head>
    </head>
    <body data-ng-controller='CartController'>
        // CartPage Content Served by web-server with angular tags

        <script type="text/javascript" src="/js/lib/angular.min.js"></script>
        <script type="text/javascript" src="/js/app.js"></script>
        <script type="text/javascript" src="/js/controllers/CartController.js"></script>
    </body>
</html>

因此,在上面的示例中,我创建了两个页面,它们由 Web 服务器提供几乎所有静态内容。但这些页面已被标记为有角度的标签。在每个静态页面上,我引用了不同的 AngularJS 控制器。

这是解决问题的正确方法还是我应该允许 app.js 加载控制器/注入依赖项?

此外,任何有关在此多页面应用程序中的控制器之间共享数据的指南以及指向适当资源/示例的链接都将非常有帮助。例如,我需要通过吗?从产品页面将商品添加到购物车到 api,然后再次查询此 api 以检索购物车内容?


您应该包括ngRoute模块并让 AngularJS 为您加载控制器。请参阅 AngularJS 文档以了解如何使用路由。

至于在控制器之间共享数据,您需要的是服务。创建服务就像这样简单:

app.factory("ServiceName", [function() {
    return {
        somevar: "foo"
    };
}]);

然后,在您的控制器中,您可以像这样注入服务:

app.controller("ContactCtrl", ["$scope", "ServiceName", function($scope, svc) {
    $scope.somevar = svc.somevar;
}]);

只要您不导致物理页面重新加载,服务的状态就会保留(这就是您应该使用ngRoute加载您的控制器)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS 多页面应用程序网站样板网站结构建议 的相关文章

  • ui-router 在抽象父级上具有多个视图

    我正在尝试创建一个route层次结构与ui router 我遇到了问题 我有三层模板 访客模板 用户模板 管理员模板 所以我的index html页面是
  • 使用 Angular JS 调用 Restful API 时的跨域问题

    我正在尝试访问一个宁静的 API 这会产生错误 如何解决这个跨域问题 错误是 Access Control Allow Origin header is present on the requested resource function
  • 如何在 AngularJS 中设置选择选项中的文本格式?

    我有以下 json 对象 scope values id 2 code Code 1 name Sample 1 id 4 code Code 2 name Sample 2 id 7 code Code 3 name Sample 3 在
  • 使用 angularjs 为多选下拉列表分配默认值

    我正在使用这个插件http dotansimha github io angularjs dropdown multiselect http dotansimha github io angularjs dropdown multisele
  • AngularJS 中的非单例服务

    AngularJS 在其文档中明确指出服务是单例 AngularJS services are singletons 违反直觉的是 module factory还返回一个 Singleton 实例 鉴于非单例服务有很多用例 实现工厂方法以返
  • 在 AngularJS 中将数组绑定到指令变量

    我正在尝试将数组放入模板中 以便我可以使用其中的各个值 我的问题是 该属性一旦进入我的模板就会变成字符串 因此它不再可以作为 var 0 访问 而是返回 字符串 的第一个字符 通常是 这是数据的简化设置 varForward 100 1 v
  • 添加甜蜜警报 Angular js

    我是 AngularJS 的新手 我正在尝试使用来自https github com oitozero ngSweetAlert https github com oitozero ngSweetAlert 我已经将相应的脚本添加到我的in
  • 如何使用 ng-if 测试变量是否已定义

    有没有办法使用ng if测试变量是否已定义 而不仅仅是它是否为真 在下面的示例中 现场演示 http plnkr co edit jKPN0dOHDWBtPxJHXv2R p preview HTML 仅显示红色商品的运费 因为item s
  • 如何识别 YouTube 播放器的音量变化

    我正在使用 angualr youtube embed 指令将 YouTube 播放器嵌入到我的 Angular Web 应用程序中 因为我必须识别播放和暂停以及音量变化事件 为了监听播放和暂停事件 我使用下面给出的代码 scope on
  • 在模态中打开模态

    我有一个有角度的 ui 模态 其中有一个按钮 单击此按钮时 我想在 Angular ui 中打开另一个模式 我该怎么做 scope open function var modalInstance modal open templateUrl
  • getLocationAbsUrl 与 getCurrentUrl

    在量角器中 全球可用browser对象有两个方法 getLocationAbsUrl http angular github io protractor api view Protractor prototype getLocationAb
  • 为什么在这个函数定义中像这样使用“window.angular”?

    我正在尝试理解一个我需要用来与 Django 集成的 angularjs 文件 它有一个我不熟悉的奇怪语法 请记住我是一名初级开发人员 所以这可能是你的面包和黄油 它是这样的 function angular undefined use s
  • 在 History popstate 事件中获取 AngularJs $scope?

    我是 angularjs 开发新手 我有 var app angular module myapp app controller ProductCtrl scope sce function scope sce scope products
  • AngularJS 插值错误

    我正在显示房间的属性 作为我正在开发的房间管理应用程序的一部分 这是输出 如您所见 Beamer 英文投影仪 的值为 Sony lamp 01 12 2013 此输出是正确的 但当我打开控制台时 我看到一些有关插值的错误 更大的分辨率 Ca
  • Angularjs 模式的复选框表现得很奇怪

    我有一个有角度的应用程序plunker http plnkr co edit rac8w9g8L0eX8mlXKuVn p preview 当我们单击该按钮时 它会打开一个包含项目列表的模式对话框 其中 2 项是根据复选框表输入中的条件进行
  • Swagger 生成 javascript-closure-angular-client

    我是 swagger 的新手 我从 swagger 的在线编辑器生成了一个 javascript 闭包角度客户端 它给了我一个 DefaultAPI js 和其他与我的对象定义匹配的 JS 文件 我在 swagger 文档和网上搜索了一种在
  • Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Headers

    我试图通过发布请求将文件发送到我的服务器 但是当它发送时会导致错误 Access Control Allow Headers 不允许请求标头字段 Content Type 所以我用谷歌搜索了错误并添加了标题 http post rootSc
  • 在 Angular e2e 测试中获取浏览器路径会导致异常

    我有一个简单的 e2e 测试来验证路由重定向是否有效 跑步者 html 场景 js use strict describe e2e function beforeE
  • 在 Angular 中让多个调用等待同一个 Promise

    我在一个页面上有多个使用相同服务的控制器 为了举例 我们将服务称为 USER 第一次调用 USER getUser 时 它会发出 http 请求来获取有关用户的数据 调用完成后 它将数据存储在 USER data 中 如果再次调用 USER
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下

随机推荐