我得到以下代码

 <h2>{{ownername}} Online Bookshop</h2>
 <input placeholder="type your name" ng-model="ownername" >

输出“在线书店”

如果我输入“Fred”,则输出“Fred Online Bookshop”

如果不使用jQuery,而又以棱 Angular 分明的方式处理事务,那么我将如何更改代码,以便在输入不为空时添加所有格撇号和字母s?

例如

输入为空时的在线书店,以及

当输入包含“Fred”字符串时,Fred的在线书店

最佳答案

请记住,作用域只是您可以评估事物的地方。这就是我们可以做的。 ?是形式为(expression)?<true clause>:<false clause>;的三元运算符,它等于:

if(expression) { <true clause>; }
else { <false clause>; }

修改后的代码:
<h2>{{ ownername.length ? ownername + "'s " : "" }}Online Bookshop</h2>
<input placeholder="type your name" ng-model="ownername" >

编辑:
即使这行得通,但正如其他人指出的那样,从 View 中隐藏逻辑可能会更好。这可以通过调用作用域函数或将过滤器应用于变量以按预期方式进行转换来完成。

关于javascript - AngularJs,ng-if要更改文本吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23848608/

10-12 13:47