1
您有一個控制器,一個暴露在其範圍內的模型,用戶可以在模板中操作,控制器中的一個函數,該模型將作用於模板中的點擊處理程序將調用的模型。當你爲什麼寧願之一:
- 調用與模型參數通過模板
- 函數調用與模型的功能範圍
編輯:John Lindquist在this video,他主張使用第一種形式,聲稱它使測試更容易。我可以同意這一點,因爲如果傳遞一個參數,對控制器方法的測試可以更易讀。
模板:
<div ng-app="myApp">
<div class="container demo-container" ng-controller="MyCtrl">
<label for="model_input">
Model:
<input type="text" class="form-control" ng-model="model" name="model_input"/>
</label>
<p>
Invoke function with <strong>'{{model}}'</strong> explicitly through template
</p>
<button class="btn btn-primary" ng-click="fn_through_tpl(model)">
Click
</button>
<p>
Invoke function with <strong>'{{model}}'</strong> implicitly through controller
</p>
<button class="btn btn-primary" ng-click="fn_through_ctrl()">
Click
</button>
</div>
</div>
控制器:
angular.module('myApp', [])
.controller('MyCtrl', function ($scope) {
$scope.model = "my model";
$scope.fn_through_tpl = function (model) {
alert(model + " through template!");
}
$scope.fn_through_ctrl = function() {
alert($scope.model + " through $scope!");
}
});
這是第一種形式合適的一個很好的例子。 – yangmillstheory