Tôi biết bạn không nên đặt logic hiển thị bên trong bộ điều khiển và tôi đang đấu tranh với cách AngularJS thích hợp để tiếp cận điều này.Cách AngularJS xử lý một phương thức như thế này
Tôi đang trình bày biểu mẫu bên trong các phương thức. Tôi đang sử dụng tiết lộ của Zurb Foundation cho phương thức này.
Markup:
<div class="button" ng-click="modalAddWidget">Add Widget</div>
<div id="modalAddWidget" class="reveal-modal">
<h6>New Widget</h6>
<form>
<fieldset>
<legend>Widget Name</legend>
<input type="text" ng-model="ui.add_widget_value" />
</fieldset>
<div class="small button right" ng-click="addWidget()">Add Widget</div>
<div class="small button right secondary" ng-click="addWidgetCancel()">Cancel</div>
</form>
</div>
Bộ điều khiển:
...
$scope.modalAddWidget = function() {
$("#modalAddWidget").reveal();
}
$scope.addWidget = function() {
$scope.myobject.widgets.push({"name": $scope.ui.add_widget_value});
$scope.ui.add_widget_value = '';
$('#modalAddWidget').trigger('reveal:close');
}
$scope.addBudgetCancel = function() {
$scope.ui.add_widget_value = '';
$('#modalAddWidget').trigger('reveal:close');
}
...
Lưu ý: $ scope.ui là một đối tượng tôi đang sử dụng để lưu trữ các giá trị UI rằng không nên bị ràng buộc để đối tượng của tôi cho đến khi người sử dụng thực sự nhấp vào "Thêm tiện ích con"
$ scope.myobj là nơi dữ liệu của tôi được lưu trữ.
Chức năng của $("#modalAddWidget").reveal();
của Foundation thể hiện lớp phủ phương thức.
Vì tôi không nên đặt mã hiển thị của mình bên trong bộ điều khiển, cách thích hợp để tiếp cận điều này là gì?
Cảm ơn câu trả lời, tôi đang làm việc thông qua nó ngay bây giờ. :: chỉnh sửa để tiết kiệm thời gian từ một câu hỏi xấu ở đây :: – Coder1
Ví dụ tuyệt vời. Cảm ơn bạn. – Coder1