javascript - angularjs指令 Controller $element

标签 javascript angularjs angularjs-directive angularjs-controller

我看到 angularjs 强烈建议不要在 Controller 中进行任何 dom 操作, 仅设置作用域的状态,例如从 ajax 等提取数据,

https://docs.angularjs.org/guide/controller

具有隔离范围的指令 Controller 怎么样 在隔离作用域上设置函数来进行 dom 操作是否有意义

示例

controller:function($scope,$element){
    $scope.editDom = function(){
        $element.someThing();
    }
}

最佳答案

通常我尝试将指令逻辑拆分为纯逻辑(进入 Controller )和 dom 操作逻辑(进入链接函数)。

如果我需要在作用域上放置进行 dom 操作的方法,我会在指令链接函数中声明这些函数。

这是一些人为的逻辑分离,主要驱动程序正在编写单元测试,这样我就可以轻松编写检查 Controller 的测试。

如果我的整个逻辑是 dom 操作,并且我不需要将 api 暴露给其他指令(通过 require),我根本没有 Controller ,只有链接。

关于javascript - angularjs指令 Controller $element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392454/

相关文章:

javascript - 如何在 Windows 中将 Javascript 文件编译成二进制文件?

javascript - AngularJS 中的 promise 顺序

指令中的 AngularJS 复选框

javascript - 获取 AngularJs 中 window.alert 中 Angular JS 表达式的值

javascript - 当金额不是美元时,前面不要有 $ 符号

javascript - 如何制作pjax :popstate work like a simple PJAX call

javascript - 访问父 Controller 的实例方法

javascript - Angular ,ng 类,内部有重复函数

angularjs - 我将如何使用 angularjs 指令根据值更改字体的颜色?

javascript - AngularJS指令不渲染