如何在内联javascript调用中避免AngularJS?

如何在内联javascript调用中避免AngularJS?,angularjs,Angularjs,我不熟悉javascript中的AngularJS和MV*模式。我最近在一个项目中与AngularJS打交道,我很好奇如何避免这样的情况:我正在做?我真的不喜欢我的javascript出现在我的HTML中。我希望能够从javascript文件而不是HTML文件控制javascript。有没有更好的方法来处理这种类型的东西,比如我如何在AngularJS中指定一个类或id,该类或id应该与它的行为相关联?如果你想结束一个行为,你可以使用指令和设置元素上事件的绑定来封装你自己的行为(我相信我读过An

我不熟悉javascript中的AngularJS和MV*模式。我最近在一个项目中与AngularJS打交道,我很好奇如何避免这样的情况:我正在做
?我真的不喜欢我的javascript出现在我的HTML中。我希望能够从javascript文件而不是HTML文件控制javascript。有没有更好的方法来处理这种类型的东西,比如我如何在AngularJS中指定一个类或id,该类或id应该与它的行为相关联?

如果你想结束一个行为,你可以使用指令和设置元素上事件的绑定来封装你自己的行为(我相信我读过AngularJS博客的本·纳德尔…)

正如在评论中所说的,虽然我个人并不认为这是一个问题,但如果我是在一个更大的团队中,我可能会看到将绑定留给javascript开发人员的愿望,而不会让HTML开发人员担心这些细节,只使用指令,但从我如何编写这两个部分来看,我没有任何问题

指令是教授HTML新技巧的一种方法 指令与HTML匹配并执行。这允许 用于注册行为或转换DOM的指令

HTML


您是从不引人注目的javascript的角度来看待AngularJS的,这会限制您查看整个图片。下面是Cary Landholt在AngularJS邮件列表上的评论,他在其中解释了如何看待AngularJS。
<body ng-app="myApp">
    <div clickable>Click me</div>
    <button clickable>Click me</button>
</body>
angular.module("myApp",[]).directive("clickable", function() {
    return {
        restrict: 'A',
        link: function(scope, iElem, iAttrs) {
            iElem.bind("click", function() {
                alert("holy guacamole");
            });
        }
    }
});