在 AngularJs 中共享数据

2023-12-02

如何将数据共享给所有控制器?

我有一个控制器,可以从服务器(file.json)中提取数据,我想将其共享给其他控制器

sampleApp.controller('PhoneListCtrl', 
['$scope', '$http', 
function($scope, $http) {
    $http.get('App_Data/phonelist.json').
        success(function(returnDataFrmJson){
            $scope.phonesScope = returnDataFrmJson;
        });
}]);

将访问第一个控制器的共享数据的控制器

sampleApp.controller('AddIPhoneController', 
['$scope', '$http',
function($scope, $http) { 
    $scope.newInput= 'sample text';

    $scope.sharedText= dataFromSharedControll;
}]);

将显示数据的 html 文件。

{{newInput}} {{sharedText}}

嗯,有多种选项供您使用:$sessionStorage, localStorage, appConstant, $localStorage等等。

您甚至可以使用以下方式在控制器之间共享数据Factory and Services。我将为您提供一个简单的使用示例$sessionStorage.

为了使用$sessionStorage or $localStorage,你需要注入ngStorage。

首先在你的index.html中,包含源代码:

<script src="https://rawgithub.com/gsklee/ngStorage/master/ngStorage.js"></script>    

然后在模块定义中注入 ngStorage:

var sampleApp = angular.module('Your App Name', ['ngStorage']);  

并且,在你的controllers:

sampleApp.controller('PhoneListCtrl', 
['$scope', '$http', '$sessionStorage',
function($scope, $http,$sessionStorage) {
    $http.get('App_Data/phonelist.json').
        success(function(returnDataFrmJson){
            $scope.phonesScope = returnDataFrmJson;
            $sessionStorage.sharedValue = returnDataFrmJson;//keeping the value in session
        });
}]);    

controller将访问第一个的共享数据

sampleApp.controller('AddIPhoneController', 
['$scope', '$http','$sessionStorage',
function($scope, $http,$sessionStorage) { 
    $scope.newInput= 'sample text';

    $scope.sharedText= $sessionStorage.sharedValue;
}]);

然后在你的View:

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

在 AngularJs 中共享数据 的相关文章

随机推荐

  • 如何在没有类的情况下生成对象的新实例?

    问题 如何从该类的实例生成该类的新实例 我发现了什么 考虑下一个类及其实例 Create a new class var Foo function Foo console log New instance of FOO Foo protot
  • 我可以隐藏控制器并查看名称 cake php 2 吗?

    我正在使用 cake php 由于某种原因我想从 url 中隐藏控制器和操作名称 当前网址我们喜欢 http 192 168 1 31 home this is test 其中 home 是控制器名称 this is test是动态的 sl
  • 进程卡在退出处,显示为僵尸但无法收获

    我有一个由其父级监控的进程 孩子遇到了一个错误 导致它调用abort 该进程不会篡改中止进程 因此它应该按预期进行 转储核心 终止 父级应该检测子级的终止并触发一系列事件来响应失败 子进程是多线程且复杂的 这是我看到的ps F UID PI
  • 查询失败错误:无法通过前缀查询视图。匹配视图的部分列表是

    我正在尝试查询具有多个表和等效视图的数据集 我试图使用 table suffix 仅查询表 但它返回错误 查询失败错误 无法通过前缀查询视图 匹配视图的部分列表 我无法从数据集中删除视图 有没有办法只查询表而忽略视图 SELECT COUN
  • 为什么 ref 和 out 不足以消除 C# 中重载的歧义?

    例如 为什么这个方法Max ref int x ref int y 不被认为是过载Max int x int y 为什么与相同out 这个问题预设了一个错误的前提 Max int x int y Max ref int x ref int
  • CreateProcess() C++ 文件未找到

    我正在尝试使用CreateProcess启动一个子进程 但是我不断得到error 2 根据文档 该文件未找到 我的代码如下所示 if CreateProcess LPCTSTR test exe NULL NULL NULL FALSE 0
  • 如果单词至少包含 N 次,则匹配正则表达式

    尝试创建 SpamAssassin 自定义规则 如果电子邮件正文中包含短语 SEO 四次或更多次 则该规则会匹配 为什么像这样的简单模式不匹配 true SEO 4 m 我想我明白了 您不需要 m 修饰符 因为您不使用 或 您需要 s 修饰
  • PyQT4 和 QPixmap:加载大小为零的图像?

    我对 PyQt4 感到困惑 我在python2 6上尝试了以下步骤 In 1 from PyQt4 import QtGui In 2 import sys In 3 app QtGui QApplication sys argv In 4
  • 重写 onMeasure 时,自定义 LinearLayout 的膨胀子项不会显示

    我想展示一个MyCustomLinearLayout这延伸了LinearLayout 我正在充气MyCustomLinearLayout与android layout height match parent 属性 我想要的是展示一个Imag
  • 从文件中随机选择行

    我有一堆文件 每个文件都有 5 行标题 在文件的其余部分中 一对行形成一个条目 我需要从这些文件中随机选择条目 我如何选择随机文件和随机条目 一对行 不包括标题 如果文件足够小 请将行对读入内存并从该数据结构中随机选择 如果文件太大 Eug
  • PHP - 返回分隔符后的所有内容

    有similar 问题在SO中 但我找不到任何完全像这样的 我需要删除直到 并包括 特定分隔符的所有内容 例如 给定字符串File MyFile jpg 我需要删除所有内容 这样我就只剩下MyFile jpg 提前致谢 使用此 preg r
  • 从 IBDesignable 中的自定义控件的框架加载代码

    我已经在 OS X 应用程序中实现了一个运行良好的自定义控件 当绘制控件时 它使用来自非系统框架的代码 控件是用swift编写的 框架是用Objective C编写的 该框架不是与具有自定义控件的应用程序构建在同一项目或工作区中 我已将框架
  • 多行注释解决方法?

    我 某种程度上 已经知道这个问题的答案 但我认为这是 R 用户列表中经常被问到的问题 应该有一个可靠的好答案 据我所知 R 中没有多行注释功能 那么 有人有什么好的解决方法吗 虽然 R 中的相当多的工作通常涉及交互式会话 这让人怀疑是否需要
  • 按列值计算百分比

    我有以下有关瑞士注册车辆的数据框 Fuel Year Region Count Gasoline 2013 GE 169600 Diesel 2013 GE 46790 Hybrid 2013 GE 2268 Electric 2013 G
  • Pandas:计算列中所有匹配模式的出现次数

    假设我有一个数据框 df pd DataFrame column 1 ABC DEF JKL GHI ABC ABC ABC DEF GHI DEF DEF DEF ABC GHI DEF ABC column 2 9 2 3 4 6 2
  • i++、i=i+1 和 i+=1 哪个更快? [复制]

    这个问题在这里已经有答案了 我很好奇 想知道其中CPU运行速度最快的是哪一个i i 1 and i i 1我如何衡量它们的执行时间 嗯 最初人类发明了以下记录 i i 1 然后随着硬件方面的成就人类发明了以下记录 i 1 最后由于计算机科学
  • 使用 PHP 和正则表达式自定义 URL 路由

    我正在尝试创建一个非常简单的 URL 路由 我的思考过程是这样的 首先检查所有静态URL 然后检查数据库 URL 如果都不存在则返回404 当然 静态 URL 很容易实现 但我正在尝试找出实现动态 URL 的最佳方法 我宁愿不必设置静态前缀
  • SWIFT:为什么“NSURL(string:”返回 Nil,即使它是浏览器中的有效 URL?

    前两个示例链接有效 第三个链接返回 NIL 为什么 NSUrl 对于这样的字符串返回 nil 即使它在浏览器中是有效的 url 我应该更多地处理字符串吗 这是我的代码 import UIKit import Foundation class
  • vfptr 中的 Visual C++ 方法按相反顺序排列

    有没有办法控制 vfptr 中某些类方法的顺序 看来Visual C 2010至少将方法指针按照声明顺序排列 重载方法除外 下面是示例代码 enum ENUM class CLASS virtual void foo1 virtual CL
  • 在 AngularJs 中共享数据

    如何将数据共享给所有控制器 我有一个控制器 可以从服务器 file json 中提取数据 我想将其共享给其他控制器 sampleApp controller PhoneListCtrl scope http function scope h