我正在编写AngularJS单页应用程序。
在index.html文件中,我有以下几行:
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js">
</script>
我已经定义了一个控制器名称MyController。该控制器具有一个名为
my_name
的变量,其中包含字符串“ HELLO”。该控制器与名为my_fragment.html
的HTML模板文件一起使用。该HTML文件如下所示:<div ng-controller="MyController as myCtrl" class="full_screen_container">
MyString = {{myCtrl.my_name | lowercase}}
</div>
有用。浏览器中的输出如下所示:
MyString = hello
但是现在,我不希望
my_name
小写。我希望它是titlecased。但是,当我在
lowercase
中将单词titlecase
更改为my_fragment.html
时,它失败了。这是我的浏览器中显示的内容:MyString = {{myCtrl.my_name | lowercase}}
这是我在Chrome开发者控制台中看到的错误:
为什么
titlecase
不起作用?我如何使它工作? 最佳答案
您提供的链接是针对使用AngularJS(1.X)的Angular 2+,因此该管道不存在,但是您可以像这样创建自己的titlecase函数
function titleCase(str) {
return str.toLowerCase().replace(/\b\S/g, function(t) { return t.toUpperCase() });
}
并像这样实现它
MyString = titleCase(myCtrl.my_name)
如果上述方法无效,则可能必须执行
myCtrl.titleCase(myCtrl.my_name)
。关于javascript - 为什么 Angular 标题大小写过滤器对我不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52324514/