Bạn biết đấy, trong angularjs, hầu hết các logic dựa trên $scope
:Có thể để cho công việc Angularjs với các phương pháp nguyên mẫu và các biến
function Ctrl($scope) {
$scope.name = "Freewind";
$scope.hello = function() {
alert($scope.name);
}
$scope.method1 = function() {}
$scope.method2 = function() {}
$scope.method3 = function() {}
$scope.method4 = function() {}
$scope.method5 = function() {}
}
Bây giờ tôi đang sử dụng để tạo ra haXe angularjs mã, nó hoạt động nếu mã của tôi là:
class Ctrl {
public function new(scope:Scope) {
scope.name = "Freewind";
scope.hello = function() {
alert(scope.name);
}
scope.method1 = function() {}
scope.method2 = function() {}
scope.method3 = function() {}
scope.method4 = function() {}
scope.method5 = function() {}
}
}
typedef Scope = {
name:String,
hello:Void->Void,
method1: Void->Void,
method2: Void->Void,
method3: Void->Void,
method4: Void->Void,
method5: Void->Void
}
Nhưng tôi muốn được hưởng lợi từ hệ thống lớp haXe của (mã có thể được đơn giản và rõ ràng hơn), để khai báo nó thích:
class Scope {
public var name:String;
public function hello() {}
public function method1() {}
public function method2() {}
public function method3() {}
public function method4() {}
public function method5() {}
}
Sau đó, tìm cách liên kết lớp học Scope
với số $scope
của angularj.
Nhưng tạo Scope
từ haXe đang sử dụng nguyên mẫu:
Scope = function();
Scope.prototype.name = "something";
Scope.prototype.hello = function() {}
Scope.prototype.method1 = function() {}
Scope.prototype.method2 = function() {}
Scope.prototype.method3 = function() {}
Scope.prototype.method4 = function() {}
Scope.prototype.method5 = function() {}
Trong trường hợp này, tôi không thể tìm ra giải pháp để cho angularjs làm việc với nó.
Có thể cho phép angularjs làm việc với nguyên mẫu, vì vậy nó có thể làm việc với hệ thống lớp haxe (cũng các ngôn ngữ khác như coffeescript/typescript có hỗ trợ lớp)?
không có mục đích làm điều đó, nếu bạn muốn bit tái sử dụng mã, di chuyển của bạn phương pháp vào dịch vụ. Điều khiển gọi angularJS không phải là bộ điều khiển MVC, nó là một ViewModel trong mẫu thiết kế MVVM. bộ điều khiển thực sự nằm trong chỉ thị. – mpm