如何调用视图内控制器中定义的函数?

时间:2015-09-08 17:10:28

标签: angularjs

我知道我可以通过执行以下操作来显示范围变量值:

<div> This is my var value: {{myVar}} </div>

假设我有这个功能

$scope.displayVal = function(){
         return myVar+5;
};

有没有办法以类似的方式调用它?

4 个答案:

答案 0 :(得分:8)

<div>{{displayVal()}}</div>

<div ng-bind="displayVal()"></div>

如果使用Controller作为语法

<div ng-controller="YourController as vm">
    <div>{{vm.displayVal()}}</div>
</div>

答案 1 :(得分:1)

它可以像函数一样直接使用:

<div>{{displayVal()}}</div>

如果您要初始化某些值并想要在页面加载时调用

<div ng-init="displayVal()"></div>

答案 2 :(得分:0)

由于您的函数是在作用域中声明的,因此您可以在(我认为是)您的视图中正常调用它;例如:

// code in the controller
$scope.myVar = 10;

$scope.displayVal = function(){
  return myVar + 5;
};

// code in the view
<input type="text" ng-model="displayVal()" /> // 15 will appear in the box

您也可以在按钮内调用该功能;关于价值出现的地方,我会留给你:

<input type="button" value="Display Value" ng-click="displayVal()" />

答案 3 :(得分:0)

另外请注意,这是您创建函数的方法:

$scope.displayVal = function displayVal(){
         return myVar+5;
};

关键字功能之后,您需要输入功能名称。