问题标签 [angularjs-components]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
29899 浏览

angularjs - 在 Typescript 中创建 AngularJS 1.5 组件的最佳实践是什么?

我正在尝试使用.component()Angular 1.5 中的语法。

似乎最新的方式是在组件中而不是在单独的文件中对控制器进行内联编码,并且鉴于组件样板文件很少,我可以看到这样做的优势。

问题是我一直将我的控制器编码为打字稿类,并希望继续这样做,因为这似乎与 Angular2 一致。

我最大的努力是这样的:

它有效,但并不优雅。有没有更好的办法?

0 投票
1 回答
1177 浏览

angularjs - 如何解决错误:$compile:nonassign Non-Assignable Expression in angular 1.5 组件

所以我对组件、绑定和 Angular 2 范式还比较陌生。我想让我的 Angular 1.3 应用程序准备好传输,所以我一直在尝试采用新的组件指令。

不过,我无法克服不可分配的绑定错误!

这是我包含组件的地方:

以及组件本身:

和组件模板:

我觉得我在这里遗漏了一些非常明显的东西。任何帮助将不胜感激。

0 投票
1 回答
766 浏览

javascript - 使用打字稿从回调中获取控制器引用

我有以下简单的控制器,它使用指令/组件并将函数作为绑定传递。

当函数被调用时,我没有使用任何控制器类服务的参考。

在这种情况下,在我的控制器public onTileClicked功能中,我无权访问 tileService

控制器js:

控制器html:

指令js:

onTileClicked js:

0 投票
2 回答
35357 浏览

angularjs - 使用 angularJS 组件 1.5 的组件控制器中 $element 和 $ attrs 的用途

我正在努力加快使用 1.5 个角度分量的速度。我一直在关注 todd Motto 的视频,以了解组件以及 Angular 的文档 https://docs.angularjs.org/guide/component

在这一点上,组件似乎正在取代使用控制器的指令,但在我们的 1.5 代码中,我们仍然会使用指令来进行 dom 操作。

$element, $attrs 在组件控制器中的用途是什么?这些似乎可用于操纵。这是文档中 plunker 的链接。我知道他们没有使用 $element,但这是我正在阅读的示例。http://plnkr.co/edit/Ycjh1mb2IUuUAK4arUxe?p=preview

但是在这样的代码中......

如果我们不操作 dom,那么 $element 有什么用?

0 投票
1 回答
1110 浏览

angularjs - Angular 1.5 组件按钮和样式

由于“替换”配置通常已被弃用并且在 1.5 angular.component 中不可用,我想知道最佳实践是设置组件样式并保持高可重用性。

例子:

假设我想在将按钮与“btn-primary”一起使用时为其设置样式。

我做不到

因为呈现的 html 将是:

关于如何以可扩展且良好的方式在组件(按钮)上应用上下文样式的任何想法?

0 投票
1 回答
2644 浏览

angularjs - 如何在基于 Angular 组件的架构中处理对话框

我正在开发 Angular 1.5 中的应用程序。我坚持使用基于组件的架构(https://docs.angularjs.org/guide/component)和那里描述的输入/输出流程。

直到现在它工作正常,但现在我需要打开一个子组件作为对话框窗口,我被卡住了。

当您从主组件开始向下渲染组件树时,架构很好。但我不知道如何获得其中一个孩子并将其显示为对话框,并且仍然使用推荐的输入/输出流程。

你知道这样做的任何模式/库吗?

0 投票
7 回答
58877 浏览

angularjs - AngularJS 1.5+ 组件不支持 Watchers,有什么解决方法?

我一直在将我的自定义指令升级到新的组件架构。我读过组件不支持观察者。这个对吗?如果是这样,您如何检测对象的变化?对于一个基本示例,我有一个自定义组件myBox,它有一个带有游戏绑定的子组件游戏。如果游戏组件中有更改游戏,我如何在 myBox 中显示警报消息?我知道有 rxJS 方法是否可以纯粹以角度来做到这一点?我的JSFiddle

JavaScript

HTML

0 投票
1 回答
9890 浏览

angularjs - 使用表达式 `("&")` 绑定将数据从 AngularJS 组件传递到父范围

无法从角度组件输出绑定功能访问控制器范围

我正在尝试从仪表板组件访问我的主控制器范围,但它未定义。

我也尝试了第二种方法,但我的函数变量未定义。

我正在使用带有 Typescript 的 Angular 1.5

第一种方法:

家庭控制器 HTML:

家庭控制器js:

仪表板控制器js:

第二种方法:

家庭控制器 HTML:

仪表板控制器js:

在这里,我得到了相反的结果:

0 投票
0 回答
117 浏览

angularjs - component() 和 New Angular Router 将如何在 1.5 中协同工作?

我已经分别阅读了这两个提案,但在将它们拼凑在一起时遇到了麻烦。

因此,使用 component() 我们可以设置 bindings 属性以从组件外部获取数据。

然而,新的角度路由器似乎没有通过这些绑定传递数据的机制。

相反,我发现的示例是将 $routeParams 注入组件的控制器。

但这会限制组件的可重用性!我在这里错过了什么吗?如何设置路由器以将值绑定到组件?

0 投票
1 回答
507 浏览

angularjs - 如何使用 AngularJS、组件和 ngResource 在 CRUD 中实现 C?

我对 Angular 很陌生,我正在调整一个使用标准控制器和 ngResource 编写的简单 CRUD 应用程序,以使用 1.5 中引入的组件。到目前为止,我发现的所有文档和资源都没有讨论如何:

  • 从头开始创建一个新项目
  • 与 ngResource 集成

所以我想知道是否有人可以就如何最好地进行一些指示。

我现有的应用程序有一个声明资源实体的简单工厂和一个控制器

  • 实例化资源的新实例:$scope.newEntity = new Entity();
  • $scope使用从后端检索到的资源列表填充:Entity.query(function (data) { $scope.entities = data; });
  • 提供了一些用于删除、更新和保存资源到后端的功能。

在 HTML 中,我有一个可以使用的表单$scope.newEntity以及将新实体保存到后端的控制器保存方法。我还有一个ng-repeat列出存储在 中的条目$scope.entities,还有几个额外ng-click的 s 来执行一些编辑和删除。

我现在要做的是在列表中实现一些内联编辑。我知道我可以用我现有的方法做到这一点,但我想在实体编辑代码中干净地重用我在现有实体创建表单中拥有的表单验证功能,而不需要重复。对于我(诚然缺乏经验)的眼睛来说,组件似乎很适合。

使用基于组件的方法,我遵循了组件树示例下https://docs.angularjs.org/guide/component文档,并创建了一个和组件。到目前为止,这些工作正常,我想我可以弄清楚如何连接和事件。我不知道如何处理一个事件。entity-listentity-detailon-deleteon-updateon-create

我应该使用完全独立的控制器和现有的简单表单来处理创建事件吗?如果是这样,我怎样才能让现有列表自动更新?该创建事件会传播到列表控制器吗?

还是我在现有列表控制器中遗漏了什么?或者实体创建是细节控制器的特例?

我正在专门寻找有关如何使用 Angular 组件和 ngResource 实现此功能的信息,因为我也想为 Angular 2 做好准备。除非组件和资源不打算一起工作,否则请不要发布有关如何使用的答案使用完全不同的方法来实现这一点,或者如何在没有组件的情况下重用 HTML 代码。谢谢!