有什么不同,它的优点和缺点
在View中将范围变量作为参数传递:
<form ng-submit="login(credentials)">
<input type="text" ng-model="credentials.username">
<input type="password" ng-model="credentials.password">
</form>
var LoginController = function($scope) {
var login = function(credentials) {
};
$scope.credentials = {
username: '',
password: ''
};
$scope.login = login;
}
或直接在Controller中使用范围变量:
<form ng-submit="login()"> <!-- no argument -->
<input type="text" ng-model="credentials.username">
<input type="password" ng-model="credentials.password">
</form>
var LoginController = function($scope) {
var login = function() {
// $scope.credentials
};
$scope.credentials = {
username: '',
password: ''
};
$scope.login = login;
}
最佳答案
在那种情况下没有,因为它只是一个对象,所以我在anguar中并没有很多经验,但是我注意到通常在将ng-repeat与ajax调用一起使用时会传递参数,以便让角度知道该对象将执行您的功能。
就像是:
var LoginController = function($scope, $resource) {
$scope.credentials = $resource('/api/credentials')
$scope.login = function(credential) {
alert(credential.name)
};;
}
然后你的HTML:
<table>
<tr ng-repeat="credential in credentials">
<td>credential.name</td>
<td ng-click="login(credential)"></td>
</tr>
</table>
关于javascript - AngularJS:将范围变量作为 View 中的参数传递并直接在 Controller 中使用有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23379257/