angular
을 사용하면 사용자 지정 지시문을 작성한 다음 일부 필터를 작성한 상황이 있습니다.angularjs - 지시문에 첨부 된 필터를 얻습니다.
필자는 많은 검색 작업을 수행했으며 필터가 붙어있는 필터를 실제로 가져올 명확한 방법을 찾을 수 없었습니다. 그들은 이렇게 붙어 있습니다. 이 지침은 아래와 같다
<div ng-data-bind="Model.Tags | format:'json'"></div>
...
.directive('ngDataBind', ["$parse", "$filter", function($parse, $filter){
return {
restrict: "A",
scope: {
ngDataBind: "="
},
link: function(scope, element, attributes, controller) {
// I am hoping to get the value of 'format' here (which is 'json' in this case)
}
}
});
는 지금, 필터는 매우 맨손으로 뼈입니다. 나는 실제 기능을 추가하지 않았다. 왜냐하면 내가해야 할 일은 지시문에 있기 때문이다.
.filter('format', function(){
return function(text, value) {
}
});
는 그래서 ngDataBind
지시어에, 내가 쓴 것을, 나는 format
필터와 전달 된 매개 변수를 싶어.
$filter
서비스를 살펴본 결과이 기능이 작동하지 않는 것 같습니다. 나는 지침에서 link
을 통해 전달 된 attributes
매개 변수를 구문 분석하려고 시도했지만, 그 모든 것이 저에게 많은 도움이되는 거대한 문자열입니다.
여기에 관한 정보가 있습니까?
업데이트이 분명히 필터의 적절한 사용하지 않기 때문에 내가, 내가 다른 접근 방식을 취하고있는 것보다이에서 더 많은 경험을 가진 사람들에 의해 검토 된 후
.
내가 함께 갈거야 방법은 예상되는 입력의 특정 일관성이 있기 때문에 ..<div c-data-bind="{ value: 'Model.Tags', format: 'json' }"></div>
예를 들어, 표현처럼 할당 된 지침에 나는이 방법으로 갔다 속성을 만드는 것입니다
(따옴표 유형간에 불일치 대신 항상 내용이 ''
으로 묶여 있어야 함) 나중에 지시문을 추가 할 필요없이 지시문을 확장 할 수 있습니다. 이것이 좋은 접근인지 아닌지는 확실하지 않지만 ... 은 작동하려면 인 것 같습니다.
당신은 질문이 명확하지 않습니다. 귀사의 지침, 코드 작성자, 코드를 사용하여 코드를 보여주고 달성하고자하는 것을 알려주십시오. –
물론입니다. 잠시만 기다려주세요. 그렇게하겠습니다. 나는 내가 코드를 포함했다고 생각했다. 나는 단지 결백했다. – Ciel
좋아, 나는 내가 처음 생각한 것으로 업데이트했다. – Ciel