तुम्हें पता है, AngularJS में, तार्किक का सबसे $scope
पर आधारित हैं:प्रोटोटाइप तरीकों और चर के साथ AngularJS काम करने देने के लिए क्या यह संभव है
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() {}
}
अब मैं AngularJS कोड उत्पन्न करने के लिए haxe उपयोग कर रहा हूँ, यह करता है, तो काम करता है मेरे कोड है:
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() {}
}
फिर AngularJS की $scope
साथ Scope
वर्ग संबद्ध करने के लिए एक रास्ता खोजने।
लेकिन उत्पन्न 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 कॉल नियंत्रक एमवीसी नियंत्रक नहीं है, यह एमवीवीएम डिजाइन पैटर्न में एक ViewModel है। सच्चे नियंत्रक निर्देशों में हैं। – mpm