ng-if 在视图中更改值
ng-if change value in view
我是 angularJS 的新人,这是我的问题:
我想知道这样做的语法是什么:
如果 user.fields[5].value=undefined
我想将值设置为 '0'
我用 ng-if
尝试过,但它不起作用,我不知道语法,我不知道是否 ng-if
适合这样做。也许 ng-init
更好,我不知道你能帮我吗?
这是我的代码:
ng-if="user.fields[5].value==undefined[user.fields[5].value='0']">{{user.fields[5].value}}
我认为 ng-if
不是个好方法!
如您所见,here、ng-if
创建或删除 DOM
个元素,例如 <div>
或 <p>
...
我认为最简单的方法是在您的控制器中进行。
你可以这样做:
即使我不建议这样做,这也应该有效:
<div ng-if="user.fields[5].value==undefined">
<div ng-init="user.fields[5].value='0'">{{user.fields[5].value}}</div>
</div>
正确的方法是在控制器中使用 $watch :
$scope.$watch(function(){return user.fields[5];}, function(newValue){
if(newValue===undefined){
user.fields[5].value='0';
}
});
但是你是如何得到那个字段中的 undefined 的?你不应该需要那个
编辑:关于您对 API 的评论:
那么你不应该在你的控制器和视图中这样做。您应该在服务层中使用如下所示的内容来执行此操作:
//service layer return the promise
return $http.get('API...').then(function(response){
var data = response.data;
[.. format your data ...]
return data;// don't forget to return it so your controller will have those formatted data :
});
//controller layer
myService.getData().then(function(data){
// CLEAN data!!!!
});
理想情况下 AngularJS 内置 指令 如 ng-if
、ng-switch
、ng-init
等用于 DOM,除 ng-class
.
以外的条件和作业
如果您需要为任何 model
赋值,您 应该 仅在 .js
文件中进行。并且一旦赋值,就可以在HTML DOM.
中使用了
希望你清楚。
我是 angularJS 的新人,这是我的问题:
我想知道这样做的语法是什么:
如果 user.fields[5].value=undefined
我想将值设置为 '0'
我用 ng-if
尝试过,但它不起作用,我不知道语法,我不知道是否 ng-if
适合这样做。也许 ng-init
更好,我不知道你能帮我吗?
这是我的代码:
ng-if="user.fields[5].value==undefined[user.fields[5].value='0']">{{user.fields[5].value}}
我认为 ng-if
不是个好方法!
如您所见,here、ng-if
创建或删除 DOM
个元素,例如 <div>
或 <p>
...
我认为最简单的方法是在您的控制器中进行。
你可以这样做:
即使我不建议这样做,这也应该有效:
<div ng-if="user.fields[5].value==undefined">
<div ng-init="user.fields[5].value='0'">{{user.fields[5].value}}</div>
</div>
正确的方法是在控制器中使用 $watch :
$scope.$watch(function(){return user.fields[5];}, function(newValue){
if(newValue===undefined){
user.fields[5].value='0';
}
});
但是你是如何得到那个字段中的 undefined 的?你不应该需要那个
编辑:关于您对 API 的评论:
那么你不应该在你的控制器和视图中这样做。您应该在服务层中使用如下所示的内容来执行此操作:
//service layer return the promise
return $http.get('API...').then(function(response){
var data = response.data;
[.. format your data ...]
return data;// don't forget to return it so your controller will have those formatted data :
});
//controller layer
myService.getData().then(function(data){
// CLEAN data!!!!
});
理想情况下 AngularJS 内置 指令 如 ng-if
、ng-switch
、ng-init
等用于 DOM,除 ng-class
.
如果您需要为任何 model
赋值,您 应该 仅在 .js
文件中进行。并且一旦赋值,就可以在HTML DOM.
希望你清楚。