我发现了的意外行为ng-init。根据文档,The ngInit directive allows you to evaluate an expression in the current scope.所以我试图有条件地在变量中赋值。这是我的代码
<a ng-href="#" ng-click="flag = !flag;" ng-init="data = (flag == true) ? 'Value For Success' : 'Value for false'; "> {{data}}</a>
Run Code Online (Sandbox Code Playgroud)
如果在表达式中我通过,false则将false值分配给变量,如果我通过true,则将分配true值。我可以通过调用一个函数来实现它,但是我想如果可以在一行中赋值,那为什么我需要为此编写一个函数。请提出我想念的东西吗?
检查我的小提琴
为什么ng-init呢?
ngInit的唯一适当用法是为ngRepeat的特殊属性添加别名,如下面的演示所示。除了这种情况,您应该使用控制器而不是ngInit来初始化作用域上的值。
请参阅文档。
就你而言
如果使用 ng-init="data = (flag == true) ? 'Value For Success' : 'Value for false'; "angular,则会创建一个名为的范围变量data,并将其初始化为'Value For Success'或'Value for false'基于条件。并且ng-init仅执行一次,因此无法更改data范围变量。
| 归档时间: |
|
| 查看次数: |
19498 次 |
| 最近记录: |