说我有这个方法:
function doThings() {
//execute method
}
我有一些类似的HTML:
<input type="button" value="Click Me" ng-click={{ doThings() }}/>
这会正确调用doThings()方法吗?我会把方法声明放在哪里?在控制器中,也许?我是AngularJS的新手,所以请保持温柔:)
答案 0 :(得分:0)
你有一个命名函数,对$scope
或控制器中的viewmodel变量没有隐式附件,因此不会触发。
要使其发射,您必须将其绑定到$scope
...
$scope.doThings = doThings;
...或者将其定义为VM变量,然后在视图中调用 。
var vm = this;
vm.doThings = doThings;
// HTML
// assuming your controller is bound to vm through its directive
// or through ng-controller="Controller as vm"
<input type="button" value="Click Me" ng-click={{vm.doThings()}}>
答案 1 :(得分:0)
这几乎是使用doThings()
函数调用时非常基本的角度应用程序设置的标准方式。工作示例:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.doThings = function() {
alert('I do some things!');
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<input type="button" value="Click Me" ng-click="doThings()" />
</div>
&#13;
w3schools有很好的教程:http://www.w3schools.com/angular/default.asp