我应该使用指令时的angularjs

时间:2014-07-26 14:57:24

标签: javascript angularjs

我正在使用javascript和angularjs大约一个月。 但我还是不确定,何时应该使用指令。

示例: 我想在表格中显示日期为tableheader的约会。 在表的左边我有一个按钮,我可以在其中加载约会 上周和右下一周。

我的第一种方法将是:
我有一个viewmodel / controller,它保存实际周的数据。 然后我在控制器上添加两个方法:loadPreviousWeek,loadNextWeek get get 来自appointmentProvider的数据。 在我看来,我将一个ng-click指令添加到调用控制器功能的按钮。

在我读了一些关于指令之后,这将是我的第二种方法
我有一个AppointmentService来保存实际的一周。这项服务 可以加载下周和前一周。然后我创建一个指令,loadWeek, 这会将onClick事件添加到使用它的元素中。这个onClick 方法调用来自appointmentService的方法。我的观点直接 通过控制器绑定到appointmentService。

哪种方法会更好?如果我完全错了,请纠正我。 你能否从指令的实践中给我一些其他的例子?

此致 Cristan

2 个答案:

答案 0 :(得分:0)

我相信指令可以成为你正在寻找的东西,但在这种情况下你也可能只想要一个控制器。控制器处理获取loadPrevious / next事件并使用该服务获取数据。

在我理解的情况下,你想要涉及该指令的地方是,如果你想创建一个与它一起使用的html模板,它可以做很酷的事情,比如转换其他元素。

为方便起见:https://docs.angularjs.org/guide/directive

答案 1 :(得分:0)

这听起来不像是我的自定义指令的用例。指令用于将控制器/作用域链接到DOM(请记住,所有ng-xy绑定都是AngularJS提供的指令)。一个指令主要以某种方式链接到一个范围(因此它是控制器)。

定义要显示的信息并根据用户输入更改它们是控制器的典型任务。您在实施控制器时遇到任何问题,或者您正在考虑指令吗?