ご存じのとおり、angularjs では、ほとんどの論理は以下に基づいてい$scope
ます。
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() {}
}
現在、haxe を使用して angularjs コードを生成しています。コードが次の場合に機能します。
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
}
しかし、次のように宣言するために、haxe のクラス システム (コードはより単純で明確になる可能性があります) の恩恵を受けたいと考えています。
class Scope {
public var name:String;
public function hello() {}
public function method1() {}
public function method2() {}
public function method3() {}
public function method4() {}
public function method5() {}
}
次に、Scope
クラスを$scope
angularjs の に関連付ける方法を見つけます。
しかし、Scope
haxe から生成されたものはプロトタイプを使用しています。
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() {}
この場合、angularjs で動作させるための解決策が見つかりません。
angularjs をプロトタイプで動作させることは可能ですか?