gpt4 book ai didi

javascript - ECMAScript6 AngularJS 过滤器

转载 作者:数据小太阳 更新时间:2023-10-29 04:58:59 25 4
gpt4 key购买 nike

我在一个项目中使用 ECMAScript6 并试图创建一个 Angular Filter。以下是我的尝试,但是我在控制台中收到以下错误:无法设置未定义的属性“PassFilter”

我是 ES6 和 Angular 的新手。由于遗留限制,我不得不以这种方式引导 Angular 。

myAngularModule = angular.module("MyModule");

angular.element(document).ready(function() {
var myDiv = $("#myAngularDiv");
angular.bootstrap(myDiv, ["MyModule"]);
});

myAngularModule.filter('PassFilter', APP.filters.PassFilter);



/* Filter is in a separate file: */
class PassFilter {

constructor(input) {

var split = input.split('');
var result = "";
for (var i = 0; i < split.length; i++) {
result += "*";
}
return result;

}
}

APP.filters.PassFilter = PassFilter;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div id="myAngularDiv">
<input type="password" ng-model="password">
<span>{{password | PassFilter}}</span>
</div>

最佳答案

我是 Angular 的新手。我使用类在 Angular 中创建过滤器。

class PassFilter{
constructor(input){
this.input = input;
}

myMethod() {
let input = this.input;

let split = input.split('');
let result = "";
for (let i = 0; i < split.length; i++) {
result += "*";
}

return result;
}

static PassFilterFactory(input){
let filter = new PassFilter(input);
return filter.myMethod();
}
}

PassFilter.PassFilterFactory.$inject = ['input'];

angular.module('myAngularModule', [])
.filter('passFilter', () => PassFilter.PassFilterFactory);

在 html 中

<span>{{password | passFilter}}</span>

关于javascript - ECMAScript6 AngularJS 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31335099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com