Javascript 我应该使用编译还是链接?

Javascript 我应该使用编译还是链接?,javascript,angularjs,Javascript,Angularjs,我是angular的新手,我仍然难以确定在这种特定情况下是否应该使用链接、编译甚至控制器 我想制作一个自定义指令来处理我的输入(如果是隐藏的、必需的等) 比如我想要 <custom-input name="field1" errormessage="This is an error"></custom-input> app.directive('customInput', function () { return { restrict: 'E',

我是angular的新手,我仍然难以确定在这种特定情况下是否应该使用链接、编译甚至控制器

我想制作一个自定义指令来处理我的输入(如果是隐藏的、必需的等)

比如我想要

<custom-input name="field1" errormessage="This is an error"></custom-input>


app.directive('customInput', function () {
  return {
    restrict: 'E',
    templateUrl: '/app/shared/views/custom-input.html',
    controller: function ($scope) {
      ..then something like 
        checkIfRequired(UseNameAttr);
        addProperMasking();
        setErrorMsg(UseAttr);
    }
  }
});

应用程序指令('customInput',函数(){
返回{
限制:'E',
templateUrl:“/app/shared/views/custom input.html”,
控制器:功能($scope){
…然后像
检查是否需要(UseNameAttr);
addProperMasking();
setErrorMsg(UseAttr);
}
}
});
也许这是个坏主意。我只是有很多字段可以隐藏/需要,具体取决于登录的用户


我在考虑编译,因为在请求视图时只需要执行一次逻辑。。但是在我读了这么多之后,我仍然不确定。

编译中没有可用的$scope,但是在链接期间它是可用的。因此,它可以归结为:您是否有一些逻辑根据指令实例或其相同情况而变化


正如您所说的,将有一个类似于这样的服务isUserAuth(fieldName),它可以从compile中访问,因此不依赖于scope/route controller

Oops。是的,对这三个都感到困惑。当我开始的时候,我正在考虑编译或链接,但后来开始考虑控制器。从未将标题更改为反映逻辑将是相同的。但是'name'属性会使每个实例的最终结果不同。。你可以编译