Javascript Angularjs对指令的限制

Javascript Angularjs对指令的限制,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我试图在Angularjs 1.4中使用一个过滤器作为指令 我想做的是使用limito过滤器限制字符串,但作为一个指令而不是(|)过滤器 这是我做的,但不起作用 charlimit.js指令 function controller($scope) { $scope.length = 15; } angular.module('xApp') .directive('charlimit', function () { return { restrict: 'A',

我试图在Angularjs 1.4中使用一个过滤器作为指令

我想做的是使用limito过滤器限制字符串,但作为一个指令而不是(|)过滤器

这是我做的,但不起作用

charlimit.js指令

function controller($scope) {
    $scope.length = 15;
}

angular.module('xApp')
  .directive('charlimit', function () {
    return {
      restrict: 'A',
      scope: {
        limitTo: '@',
      },
      controller: ["$scope", controller]
    };
});
index.html

<p charlimit="5"></p>

你有什么想法吗

谢谢。

var-app=angular.module(“xApp”,[]);
app.directive('charLimit',function(){
返回{
限制:“A”,
链接:函数(范围、元素、属性){
var limitLength=parseInt(attrs.charLimit);
scope.limittext=scope.limittext.substring(0,limitLength);
返回scope.limittext;
}
}
});
应用控制器(“IndexController”,功能($scope){
$scope.limittext='Sample text';
});

{{limittext}


请发布到目前为止您尝试过的内容。问题已更新。请阅读“创建操作的DOM指令”一节。
link
函数提供了修改原始元素的功能。我没有完全理解它,有人能帮上忙吗?我尝试使用link属性而不是controller,但它也不起作用。在范围定义对象中,您有
limito:'@',
,但我在指令上没有看到任何
limit to
属性。您在控制器中所做的唯一一件事就是设置
$scope.length=15
,这似乎根本不正确。它不适用于我的示例,因为我没有检查条件。Ok@johnWhite.Am使用模型作为p标记