在AngularJS中正确传递函数中的值

维卡斯·阿南德(Vikas Anand)

我有以下函数,该函数将变量描述作为参数

$scope.relsingle = function(description) {
    console.log(description);
    var url = $scope.url+'/api/descrelation?limit=4&description='+description;
    $http.get(url).success(function(data) {
        console.log(data);
        $scope.apgresponse = data;
    })
};

我使用以下方法在html页面中传递此值

ng-init="relsingle(prodres[0].description)"

prodres [0] .description的此值来自此处。 控制台输出

产品价值就来自这里

$scope.prodat = function(id) {

    var uri = $scope.url+'/api/getproduct?productid='+id;
    console.log(uri);
    $http.get(uri).success(function(data) {
      console.log(id);
      console.log(data);
      $scope.prodres = data;
    })
  };

当我在relsingle函数中在控制台中记录说明的值时。

console.log(description);

这给了我不确定的价值。

dfsq

您不能这样操作,ngInit因为它只运行一次,并且当它发生时,变量prodres不可用,因为它来自异步调用。

但是,您可以做的是ngInit仅在prodres解决了的值之后才执行

<div ng-if="prodres" ng-init="relsingle(prodres[0].description)">...</div>

由于ngIfngInit具有更高的优先级,因此仅在之后执行ngIf

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章