ng-if在视图中更改值

时间:2016-05-10 07:26:58

标签: angularjs angular-ng-if

我是angularJS的新手,这是我的问题:  我想知道这样做的语法是什么: 如果'0'我尝试使用user.fields[5].value=undefined,我想将该值设为ng-if,但它不起作用,我不知道语法,我不会# 39;不知道ng-if是否适合这样做。也许ng-init更好,我不知道你可以帮助我吗?

这是我的代码:

ng-if="user.fields[5].value==undefined[user.fields[5].value='0']">{{user.fields[5].value}} 

3 个答案:

答案 0 :(得分:1)

你可以这样做:

即使我不建议,这应该有效:

A word character: [a-zA-Z_0-9]

使用$ watch:

在控制器中执行此操作的正确方法
<div ng-if="user.fields[5].value==undefined">
   <div ng-init="user.fields[5].value='0'">{{user.fields[5].value}}</div>
</div>

但你怎么在那个领域得到未定义的?你不应该那样

编辑:关于您对API的评论:

然后你不应该在你的控制器中那样做。您应该在服务层中执行以下操作:

$scope.$watch(function(){return user.fields[5];}, function(newValue){
   if(newValue===undefined){
       user.fields[5].value='0';
   }
});

答案 1 :(得分:0)

我认为ng-if不是这样做的好方法!

正如您所见hereng-if创建或移除DOM元素,例如<div><p> ......

我认为最简单的方法是在你的控制器内完成。

答案 2 :(得分:0)

理想情况下,基于条件和分配工作,在DOM中使用AngularJS内置指令,如ng-ifng-switchng-init等。除ng-class之外。

如果您需要为model分配任何值, 只能在.js文件中执行此操作。分配后,您可以在HTML DOM中使用它。

希望你能清楚。