Javascript 为什么赢了';t角度';什么样的滴定酶过滤器对我有用?

Javascript 为什么赢了';t角度';什么样的滴定酶过滤器对我有用?,javascript,angularjs,google-chrome,Javascript,Angularjs,Google Chrome,我正在写一个AngularJS单页应用程序 在index.html文件中,我有以下几行: <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"> </script> 它起作用了。浏览器中的输出如下所示: MyString = hello 但是现在,我不想我的名字被小写。 我希望是这样。但是,当我在my_fragment.html中将单词lowercase更改为title

我正在写一个AngularJS单页应用程序

在index.html文件中,我有以下几行:

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js">
</script>
它起作用了。浏览器中的输出如下所示:

MyString = hello
但是现在,我不想我的名字被小写。 我希望是这样。但是,当我在
my_fragment.html
中将单词
lowercase
更改为
titlecase
时,它失败了。这是我的浏览器中显示的内容:

MyString = {{myCtrl.my_name | lowercase}}
这就是我在Chrome开发者控制台中看到的错误:


为什么
titlecase
不起作用?如何使其工作???

您提供的链接指向Angular 2+文档中的
标题库。但是,AngularJS(Angular1.x)中似乎只存在and过滤器,这就是您正在使用的


您可能需要自己实现标题库过滤器。

您提供的链接是为Angular2+提供的,您正在使用AngularJS(1.X),因此管道不存在,但是您可以像这样创建自己的标题库函数

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)

您可以使用选择工作的角度版本(v1.6.4)编写这样的过滤器。这样,您就可以在整个应用程序中使用它

var-app=angular.module('app',[]);
应用程序控制器('Ctrl',函数($scope){
$scope.msg='你好,world.这是一个标题案例示例';
});
app.filter('titlecase',function(){
返回函数(输入){
如果(!input | | typeof input!=“string”){
返回“”;
}
返回input.toLowerCase().split(“”).map(值=>{
返回值.charAt(0).toUpperCase()+值.substring(1);
}).加入(“”);
}
});

过滤器:{{msg | titlecase}}


在我提供的链接中,您看到的是Angular 2+?我看不出上面有明确的版本号。我可以通过将1.6.4替换为2.0.0来更改html中的脚本src标记吗?因此,不久前,angularJS完全更改为angularJS,更改后angularJS为angularJS。是的,他们有相同的名字,但他们完全不同,这些是angularJS的文档。Angular 2是一种不同类型的框架您不能只添加脚本,您必须使用此处详述的Angular cli这是最简单的解决方案更像是
myCtrl.titleCase(…)
no?@tanmay no,因为您必须将
myCtrl.my_name
传递给函数并返回值,在我提供的链接中,您是否看到它用于Angular 2+?我看不出上面有明确的版本号。我可以通过将1.6.4替换为2.0.0来更改html中的脚本src标记吗?@SaqibAli Angular.io网站参考Angular 2+文档。AngularJS(即Angular 1.x)与Angular 2+有很大不同,因此您不能简单地更改脚本源代码(迁移到Angular 2+也不容易)。你可以在网上找到很多关于这两个版本之间差异的文章,比如。在我提供的链接中,你看到的是Angular 2+的什么地方?我看不出上面有明确的版本号。我是否可以通过将1.6.4替换为2.0.0来更改html中的script src标记,以使此过滤器正常工作?请注意,将错误包含在文本或代码格式中,而不是图像中。有一个链接出错,将为您提供有关该链接的更多信息。正如我看到的,您试图注入一些错误的依赖项。
MyString = titleCase(myCtrl.my_name)