首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS中一个更复杂的工作流的3路绑定示例

AngularJS中一个更复杂的工作流的3路绑定示例
EN

Stack Overflow用户
提问于 2014-04-15 00:57:37
回答 1查看 212关注 0票数 0

我正在研究Firebase作为我想要构建的实时工具的解决方案。假设用户界面从Firebase获取产品列表,并让客户单击列表中的项目,将其加载到编辑器中。我们还可以说,UI显示相同信息的iframe,可能以不同的方式呈现。当客户对编辑器中的数据进行更改时,我希望将iframe内容绑定到相同的资源并进行更新。

我已经在您的站点上完成了简单的示例,并且当只有一个带有名称值对的简单对象时,该概念很好地工作。但是,我不清楚如何处理$binding更复杂的对象,以便将它们加载到表单中,进行编辑,并将日期同步回Firebase。

例如,如果这是我的数据:

代码语言:javascript
复制
"products": [
       {
           "name": "Shiney Red Sparkles",
           "path": "/product",
           "images": [
               "http://lorempixel.com/100/100/",
               "http://lorempixel.com/100/100/",
               "http://lorempixel.com/100/100/"
           ],
           "price": "129.99",
           "currency": "dollar",
           "options": [],
           "description": "These things are shiney. And red!",
           "vlnId": "0"
       },
       {
           "name": "Summer Dress",
           "path": "/product",
           "images": [
               "http://lorempixel.com/100/100/",
               "http://lorempixel.com/100/100/",
               "http://lorempixel.com/100/100/"
           ],
           "price": "129.99",
           "currency": "dollar",
           "options": [],
           "description": "Summer dresses are nice on hot days",
           "vlnId": "2"
       },
       {
           "name": "Summer Shoes",
           "path": "/product",
           "images": [
               "http://lorempixel.com/100/100/",
               "http://lorempixel.com/100/100/",
               "http://lorempixel.com/100/100/"
           ],
           "price": "129.99",
           "currency": "dollar",
           "options": [],
           "description": "Summer shoes are comfortable at the beach",
           "vlnId": "3"
       },

我的概念验证UI使用一个中继器生成一个ng列表,该列表依次传递/加载一个具有单击对象的指令。这是我撞上一堵空白墙的地方。传递给指令的对象不再是$firebase对象了。好的,我可以抓取$firebase的孩子:

代码语言:javascript
复制
$scope.currentProduct = $scope.products.$child(product.id);

通过将其传递给指令并在指令中使用ng更改,这类方法可以工作。但是,我遇到了从指令中解除子元素绑定的问题.

有帮助的是使用$firebase执行更高级操作的指南,因为我已经将它封装在服务中,因此我只需注入一个服务对象,该对象就可以为我管理防火墙连接。

在这种情况下,如果我想实时获得一个项目列表并编辑一个项目列表,那么更好的做法是使用一个列表(.fb.io/products/),将子程序绑定/解除绑定到一个指令,还是从防火墙获取列表,当我想编辑它时,重新获取它的数据,因为这样在编辑完后可能更容易解除绑定吗?

很难从与当前$firebase服务相关的与3路绑定相关的SO帖子中看出,所有的示例都是非常简单的聊天服务,它们不使用更复杂的对象,也不需要应用程序中包含的3路绑定。任何想法,在哪里可以找到更多关于这类问题的信息,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 18:35:22

与同事一起研究这个问题,我在Firebase后端看到了奇怪的行为,这是由于将firebase对象传递给用于编辑它们的指令的方式。3方法绑定正常。

我之所以没有发布多少代码,是因为在一个或多个双向应用程序原型的早期阶段,我对一些最佳实践和经验很感兴趣。我的用例是,这些应用程序的外观和感觉可能不一样,但它们使用相同的数据,而3路绑定为我的UI提供了一些非常酷的可能性。在研究我提到的一般指南时,以及让我在Firebase.io或互联网上找到很多东西的问题,我想知道SO社区是否有任何进展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23072879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档