Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在Angular中为小部件使用指令?_Angularjs - Fatal编程技术网

Angularjs 在Angular中为小部件使用指令?

Angularjs 在Angular中为小部件使用指令?,angularjs,Angularjs,AngularJS中是否应该使用指令来实现小部件或控制器/服务?当谈到一个小部件时,我想到的是一个UI控件,您可以通过控制器与之交互,例如对话框、树、网格、图表 例如,如果我要创建一个对话框小部件,我希望调用小部件上的show()函数来显示对话框。使用指令似乎不可能做到这一点。我看到在指令监视的根作用域上使用了一个变量,例如“showDialog”,以解决这个问题。在这种情况下,它们使用服务来实现对话框。大多数情况下,指令用作HTML视图的模板 指令可防止代码重复,并使HTML更加清晰和易于维护

AngularJS中是否应该使用指令来实现小部件或控制器/服务?当谈到一个小部件时,我想到的是一个UI控件,您可以通过控制器与之交互,例如对话框、树、网格、图表


例如,如果我要创建一个对话框小部件,我希望调用小部件上的show()函数来显示对话框。使用指令似乎不可能做到这一点。我看到在指令监视的根作用域上使用了一个变量,例如“showDialog”,以解决这个问题。在这种情况下,它们使用服务来实现对话框。

大多数情况下,指令用作HTML视图的模板

指令可防止代码重复,并使HTML更加清晰和易于维护

正如我所知,您必须创建类似于“指针”的标记或类来将指令与DOM绑定

根据使用模板的对话框实现,您只能使用服务和单独的控制器

看一看


您不能在指令中实现对话框。

是的,指令可以做到这一点,您可以使用双向绑定传入要用于确定HTML是否可见的表达式

调整你的想法:不要用“你可以通过控制器与之交互的UI控件”来思考MVC,而要引入“模型”。控制器可以通过设置作用域上的值来更改模型,视图处理为给定模型显示的HTML。控制器不应通过直接操纵DOM与HTML交互

在标记中,您可能有:

          <modal-dialog show="showPopup">

我最终使用了一个服务来创建对话框,因为这样使用现有代码要容易得多。这可能行得通,但我没有时间公平对待。
          <modal-dialog ng-show="showPopup">