观察非 ember 全局变量

2024-04-09

我想要一个计算属性来观察非 ember 全局:localStorage 中的特定键。这可能吗?以下似乎并没有削减它:

someProperty:function(){
    //some functionality
}.property('localStorage.someKey')

是否可以直接做我想做的事情?


一般来说,您可以很好地观察常规 JavaScript 对象。你只需要使用Ember.get and Ember.set修改它们:

var pojo = {};

var MyObject = Ember.Object.extend({
  bigEyeballs: function() {
    var O_O = this.get('pojo.O_O');
    if (O_O) { return O_O.toUpperCase(); }
  }.property('pojo.O_O')
});

var obj = MyObject.create({ pojo: pojo });
console.log(obj.get('bigEyeballs'));

Ember.set(pojo, 'O_O', "wat");
console.log(obj.get('bigEyeballs'));

你可以看到这个工作在这个 JSBin http://jsbin.com/uqiyot/2/edit.

本地存储有点不同,因为它不是really一个普通的 JavaScript 对象。您可以在本地存储周围创建一个小型 Ember 包装器,并将其用于观察:

var LocalStorage = Ember.Object.extend({
  unknownProperty: function(key) {
    return localStorage[key];
  },

  setUnknownProperty: function(key, value) {
    localStorage[key] = value;
    this.notifyPropertyChange(key);
    return value;
  }
});

var storage = new LocalStorage();

var MyObject = Ember.Object.extend({
  bigEyeballs: function() {
    var O_O = this.get('pojo.O_O');
    if (O_O) { return O_O.toUpperCase(); }
  }.property('pojo.O_O')
});

var obj = MyObject.create({ pojo: storage });

console.log(obj.get('bigEyeballs'));

Ember.set(storage, 'O_O', "wat");
console.log(obj.get('bigEyeballs'));

你可以在直播中看到这个JSBin http://jsbin.com/uqiyot/3/edit.

在这两种情况下,重要的是您必须使用 Ember 感知设置和获取才能观察这些属性。

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

观察非 ember 全局变量 的相关文章

  • 子目录中的 Ember 组件

    我读到现在支持在 components 中包含目录 文件夹 使用 ember cli 我可以生成所需的必要子目录 组件 但是 我似乎无法引用该组件 例如 如果我有这样的文件夹结构 app components sub test comp j
  • 为什么 Ember 路由器只允许导航到叶路由?

    我最近注意到 Ember Router 只允许导航到叶路由 没有子路由的路由 现在 除非我做的事情不正确 否则这看起来像是设计中的错误 错误 让我们举个例子 我有一个项目集合 每个项目都有许多合作者 因此我想构建一个具有 3 列布局的 UI
  • Ember.js - jQuery-masonry + 无限滚动

    我正在尝试在我的 ember 项目中实现无限滚动和砌体工作 砖石 砖块 是带有文字和图像的柱子 目前 我可以在页面初始加载时显示第一页并应用砌体 不过 我仍然需要执行 setTimeout 试图找出如何摆脱它 我还有基本的无限滚动代码 现在
  • {{action}} 与使用关系 id 的transitionTo 链接

    给定一个具有如下上下文的视图 id 1 form id 5 我想创建一个 action 使用链接到表格form id 我的视图代码如下所示 我的路由器中的操作如下所示 showForm function router event var f
  • Ember:在 Mixin 中以编程方式设置 queryParams

    我正在尝试以编程方式在 Ember Mixin 中定义 queryParams mixin 有一个方法 当持有 mixin 的控制器初始化时会调用该方法 setupQueryParams params gt params forEach p
  • 是否可以在 Handlebars #if 中使用函数?

    我有一个控制器对象 如下所示 MyApp objController Ember ArrayController create init function data data isValid function return data val
  • 标签中的 Ember 车把模板

    ember 特别是应用程序模板 是否可以在 head 标签内进行操作 以便动态更改标题标签 元标签 外部 css 样式表和 favicon 等内容 如果是这样 那么一种干净的方法是什么 为了完成这项工作 我所做的是创建车把助手 例如 如果您
  • Ember Data:重写 Save 方法

    您好 Ember 数据世界 我一直在研究自定义适配器 试图找出如何覆盖保存方法 根据我的理解 你似乎需要做这样的事情 DS RESTAdapter extend save function return this super 但是 当我尝试
  • 如何在apache服务器中部署ember-cli项目

    我有以下问题 我使用 ember cli 创建了一个 ember 应用程序 该应用程序通过 url 在 nodejs 上运行良好http localhost 4200 运行命令时ember serve 我想在 apache httpd 服务
  • Ember 路由、控制器、视图

    我已阅读 Ember js 网站上的大部分初学者指南 但我仍然对放置内容的正确位置感到困惑 Route 根据在线研究 人们建议将与路由相关的逻辑放入路由中 一切都很好 但我唯一能想到的是this transisionTo 我在其他地方读到所
  • 使用(现在默认)Ember Data JSON-API 适配器处理错误

    我使用的是 Ember 1 13 7 和 Ember Data 1 13 8 它们默认使用 JSON API 标准来格式化发送到 API 和从 API 接收的有效负载 我想使用 Ember Data 的内置错误处理来向用户显示红色 错误 表
  • Ember数据渲染有很多

    在我的 ember 应用程序中 我有一个模型 App Schedule DS Model extend manager DS belongsTo App Manager embedded true entries DS hasMany Ap
  • Ember:断言失败:EmberObject.create 不再支持定义计算属性

    我使用的是 Ember 2 16 版本 我们升级到了 3 8 版本升级后 我看到此错误 但无法弄清楚错误来自何处 在什么情况下我会收到此错误 我看到其中一篇帖子 Ember JS 中的动态计算属性已弃用 https stackoverflo
  • 特定模型的自定义 REST url

    Ember 有没有办法为特定模型配置自定义 REST url 就像这个模型一样 App Post DS Model extend title DS attr string comments DS hasMany App Comment Ap
  • 如何将子记录添加到现有父记录中?

    我一直在 Google 和 Stack Overflow 上搜索有关这个主题的某种提示 但信息充其量是分散的 我正在尝试创建一个新的子记录 Comment 并将其保存到现有的父记录 Post 我使用的是 Ember Model 而不是 Em
  • Ember:如何使用 i18n lib 翻译占位符?

    See http jsfiddle net cyclomarc 36VS3 1 http jsfiddle net cyclomarc 36VS3 1 我正在使用 Ember i18n lib 进行翻译 如何在 Ember TextFiel
  • ember js 子视图和 didinsertelement 事件

    我正在写一个Ember View 它将树结构变成菜单 我需要递归 所以我在视图模板中使用的是 view helper 它递归地调用自身来构建嵌套 ul li 结构 我需要的是一个钩子来调用一些 jQuery 插件来将此结构转换为菜单 当我从
  • 找不到将 ember-cli 应用程序迁移到 TypeScript 的模块

    我想在我的 ember 项目中尝试 ts 我之前在小型应用程序上尝试过 所以我有 ember cli typify 0 3 1 typescript 2 0 3 typings 1 4 0 ember cli 2 4 3 在我的里面tsco
  • Ember:命名出口错误

    我不知道为什么我的模板没有在指定的插座中呈现 这是我第一次尝试学习 ember 我被困在指定的渠道上 我想渲染侧边栏模板 in the outlet sidebar 和内容模板 in the outlet content 但我不断在控制台中
  • Ember.js 处理 View 事件后转换到路由

    Setup 我有一个 Ember 应用程序 支持使用 Imgur API 上传图像 我已经有一个工作路线和模板来处理任何 Imgur ID 但我想在上传新图像后转换到此路线 使用返回的 Imgur ID 这是该应用程序的相关部分 http

随机推荐

  • 如何替换数据帧每行中大于某个阈值的前 n 个元素

    我有一个巨大的数据框 仅包含数字 下面显示的数据框仅用于演示目的 我的目标是替换数据帧的每一行中的第一行n大于某个值的数字val by 0 举个例子 我的数据框可能如下所示 c1 c2 c3 c4 0 38 10 1 8 1 44 12 1
  • 使用 GraphViz 理解 -fdump-tree 输出 gcc

    我创建了一个树转储 如下所述 如何将 gcc 生成的抽象语法树转储到 dot 文件中 https stackoverflow com questions 15800230 how can i dump an abstract syntax
  • Django:按日期范围过滤对象

    我的对象模型是 class Event models Model start models DateTimeField end models DateTimeField 我需要过滤今天的所有对象 我有一个对象 开始日期为 2014 03 0
  • Haskell抽象语法表达式的动态加载

    我们可以使用 GHC API 或其他东西来加载 AST 表达式而不是文本源模块 类似于haskell src extsExp type http hackage haskell org packages archive haskell sr
  • Scala 2.10.0 RC2 和可选参数

    我正在尝试Scala 宏 http scalamacros org 它们是 Scala 2 10 的一部分 但当我尝试编译 使用 sbt 时 出现以下错误 error API scala 9 not enough arguments for
  • Javascript 原型与通用函数 - 性能/可读性

    所以我编写了这些测试来看看使用原型会快多少 function User return name Dave setName function n this name n getName function return this name fu
  • 通过引用传递数组与传递指针的函数参数绑定规则

    为了防止任何混淆 我非常了解数组和指针之间的区别 衰减到指针的概念以及通过传递数组的概念参考在C 等中 我的问题是具体来说关于编译器从一组函数中选择一个函数所使用的规则overload候选者 当一个重载采用数组引用 而另一个重载采用指针时
  • 同一数据库中的实体框架核心多个 DbContext 迁移

    在 Entity Framework 6 中 您可以为 DbContext 指定 ContextKey 以便在将一个数据库用于多个 DbContext 时 迁移表知道哪个迁移针对哪个 DbContext 在过去的几个小时里 我一直在尝试弄清
  • 适用于 Linux 的 NUMA 感知命名共享内存

    Windows API 提供了 CreateFileMappingNuma 函数 http msdn microsoft com en us library windows desktop aa366539 v vs 85 aspx htt
  • Ruby win32ole - 如何传递 VARIANT 参数?

    我正在尝试使用 Ruby 自动化 Windows 任务计划程序 我在 Windows Vista 下使用 Ruby 1 8 TaskFolder 对象的 RegisterTaskDefintion 方法采用两个 VARIANT 参数作为用户
  • Git 推送到错误的分支

    使用 git 进行一些 提交 和几次 推送 之后 我意识到我使用了错误的分支 现在我必须以某种方式删除我的更改wrong branch并提交并推送更改right branch 最好的 而且简单的 方法是什么 切换到该分支 检查git log
  • “LazyCorpusLoader”对象不可迭代

    以下示例创建一个字谜词典 然而 它抛出一个TypeError LazyCorpusLoader object is not an iterator import nltk from nltk corpus import words anag
  • 使用 jQuery 将单个事件处理程序绑定到多个事件

    我有以下 div 具有不同的 onblur onmousedown onmouseup 和 onfocus 功能 我想最小化代码 并且在 div 内只有一个函数调用来处理所有函数状态 我想用 jquery 来做到这一点 所以换句话说 我想创
  • 用 Python 表示网络

    我有一个顶点 例如dic a 0 b 1 c 2 d 3 e 4 f 5 n 6 m 7 g 8 我有两列如下代表顶点之间的关系 a a b d e f c f n f m g 我想通过一条边将第一列中的每个顶点与第二列中的相应顶点关联起来
  • R中的距离计算优化

    我想知道是否有任何方法可以优化下面的距离计算过程 我在下面留下了一个小例子 但是我正在处理一个超过 6000 行的电子表格 计算变量 d 需要相当长的时间 可以通过某种方式调整它以获得相同的结果 但以优化的方式 library rdist
  • 如何在 C# 中将对象类型传递给类型参数

    我有一个具有类型参数的函数 public static object SetValuesToObject Type tClass DataRow dr return object 我不知道如何传递一个类作为该函数的参数 在这里我想传递参数类
  • Rails 5 中的 Webpacker 需要很长时间才能编译那么多文件。我怎样才能看到它在做什么?

    Webpacker Compiling 编译我对 javascript 文件的任何更改都需要几秒钟 6 2 秒 这确实减慢了我的 JS 开发速度 有没有办法查看 Rails 中的 Webpacker 正在做什么以及它大部分时间都花在哪些文件
  • 怎么修 '。'不是内部或外部命令错误

    我遵循了几个链接来尝试解决这个问题 例如link1 http community spiceworks com how to show 36697 how to fix not recognized as an internal or ex
  • C# 保存大图像

    我在尝试使用 C 保存巨大图像 我指的是超过 1 GB 时遇到了困难 基本上 我尝试分部分执行此操作 我有大约 200 个位图源 我需要一种方法在将它们编码为 png 文件之前或之后将它们组合起来 我知道这将需要大量的 RAM 除非我以某种
  • 观察非 ember 全局变量

    我想要一个计算属性来观察非 ember 全局 localStorage 中的特定键 这可能吗 以下似乎并没有削减它 someProperty function some functionality property localStorage