我正在使用javascript和angularjs大约一个月。 但我还是不确定,何时应该使用指令。
示例: 我想在表格中显示日期为tableheader的约会。 在表的左边我有一个按钮,我可以在其中加载约会 上周和右下一周。
我的第一种方法将是:
我有一个viewmodel / controller,它保存实际周的数据。
然后我在控制器上添加两个方法:loadPreviousWeek,loadNextWeek get get
来自appointmentProvider的数据。
在我看来,我将一个ng-click指令添加到调用控制器功能的按钮。
在我读了一些关于指令之后,这将是我的第二种方法:
我有一个AppointmentService来保存实际的一周。这项服务
可以加载下周和前一周。然后我创建一个指令,loadWeek,
这会将onClick事件添加到使用它的元素中。这个onClick
方法调用来自appointmentService的方法。我的观点直接
通过控制器绑定到appointmentService。
哪种方法会更好?如果我完全错了,请纠正我。 你能否从指令的实践中给我一些其他的例子?
此致 Cristan
答案 0 :(得分:0)
我相信指令可以成为你正在寻找的东西,但在这种情况下你也可能只想要一个控制器。控制器处理获取loadPrevious / next事件并使用该服务获取数据。
在我理解的情况下,你想要涉及该指令的地方是,如果你想创建一个与它一起使用的html模板,它可以做很酷的事情,比如转换其他元素。
答案 1 :(得分:0)
这听起来不像是我的自定义指令的用例。指令用于将控制器/作用域链接到DOM(请记住,所有ng-xy绑定都是AngularJS提供的指令)。一个指令主要以某种方式链接到一个范围(因此它是控制器)。
定义要显示的信息并根据用户输入更改它们是控制器的典型任务。您在实施控制器时遇到任何问题,或者您正在考虑指令吗?