यहाँ कैसे कॉल करने के लिए की एक टाइपप्रति उदाहरण है एक एम्बेडेड निर्देश से नियंत्रक पर एक विधि वापस। ध्यान देने योग्य सबसे महत्वपूर्ण बात यह है कि आपके कॉलबैक के लिए निर्देश का पैरामीटर नाम & परिभाषित करता है, और जब कॉलबैक को कॉल करते हैं तो आपको स्थितित्मक पैरामीटर का उपयोग नहीं करना चाहिए, बल्कि इसके बजाय किसी ऑब्जेक्ट का उपयोग लक्ष्य में पैरामीटर के नाम वाले गुणों के साथ करना चाहिए।
निर्देश रजिस्टर जैसे ही आप ऐप्लिकेशन मॉड्यूल बनाने के लिए:
module MyApp {
var app: angular.IModule = angular.module("MyApp");
MyApp.Directives.FileUploader.register(app);
}
पंजीकरण कोड इस प्रकार है के रूप में:
निर्देश के नियंत्रक इस
module MyApp.Directives.FileUploader {
export class Controller {
public files: string[] = ["One", "Two", "Three"];
//The callback specified in the view that created this directive instance
public onFileItemClicked: (fileItem) => void;
// This is the controller method called from its HTML's ng-click
public fileItemClicked(fileItem) {
//IMPORTANT: Don't use comma separated parameters,
//instead use an object with property names to act as named parameters
this.onFileItemClicked({
fileItem: fileItem
});
}
}
}
कैसा लगेगा निर्देशक का HTML कुछ
01 जैसा दिखता है
<ul>
<li ng-repeat="item in controller.files" ng-click="controller.fileItemClicked (item)">
{{ item }}
</li>
</ul>
मुख्य दृश्य इतना
<body ng-app="MyApp" ng-controller="MainController as controller">
<file-uploader on-file-item-clicked="controller.fileItemClicked(fileItem)"/>
</body>
की तरह अपने निर्देश का एक उदाहरण होगा अब सभी आप अपने MainController पर जरूरत है एक विधि
public fileItemClicked(fileItem) {
alert("Clicked " + fileItem);
}
स्रोत
2016-02-01 12:25:32
कि आप का उपयोग करने का निर्देश में गुंजाइश पृथक है लेख के अनुसार नियंत्रक –