将一个变量从控制器传递给angularjs中的html

时间:2016-02-06 08:28:08

标签: angularjs cordova

的index.html

<div class="center" ng-controller="DescriptionController">
<p>{{perigrafi}}</p></div>

app.js

 app.controller('DescriptionController', function($scope, dataPassingService) {

    $scope.description = dataPassingService.get();
    var perigrafi = $scope.description.Description_en;
    var onoma = $scope.description.Name_en;
    alert("the description is " + perigrafi);
});

datapassing服务是在控制器之间传递数据的功能。警报工作完美,但是当我尝试在html文件中显示perigrafi时,是否有任何建议?提前谢谢。

3 个答案:

答案 0 :(得分:2)

在你的情况下,

perigrafi必须在$scope <{1}}

$scope.perigrafi

答案 1 :(得分:0)

Angular.js变量的双向绑定仅适用于在范围内定义的那些变量。由于您已将perigrafi定义为local variable,因此它不会像您期望的那样被绑定到html中。按照@rkalita的建议,将变量perigrafi置于$scope $scope.perigrafi

app.controller('DescriptionController', function($scope, dataPassingService) {
  $scope.description = dataPassingService.get();
  $scope.perigrafi = $scope.description.Description_en;
  var onoma = $scope.description.Name_en;
  alert("the description is " + $scope.perigrafi);
});

答案 2 :(得分:-1)

您可以直接在html中使用$ scope.description对象,而无需创建新的不必要的变量

$scope.description.Description_en // for var perigrafi

$scope.description.Name_en; //  for var onoma

在HTML中你可以这样做

<p>{{description.Description_en}}</p>
<p>{{description.Name_en}}</p>