Material Design mdDialog documentation में, मैंने देखा है कि उन्होंने DialogController
पर नीचे एक दायरा (प्रीफिक्स्ड डॉलर चिह्न के बिना) पास किया है।
(function(angular, undefined){
"use strict";
angular
.module('demoApp', ['ngMaterial'])
.controller('AppCtrl', AppController);
function AppController($scope, $mdDialog) {
var alert;
$scope.showAlert = showAlert;
$scope.showDialog = showDialog;
$scope.items = [1, 2, 3];
// Internal method
function showAlert() {
alert = $mdDialog.alert({
title: 'Attention',
content: 'This is an example of how easy dialogs can be!',
ok: 'Close'
});
$mdDialog
.show(alert)
.finally(function() {
alert = undefined;
});
}
function showDialog($event) {
var parentEl = angular.element(document.body);
$mdDialog.show({
parent: parentEl,
targetEvent: $event,
template:
'<md-dialog aria-label="List dialog">' +
' <md-dialog-content>'+
' <md-list>'+
' <md-list-item ng-repeat="item in items">'+
' <p>Number {{item}}</p>' +
' '+
' </md-list-item></md-list>'+
' </md-dialog-content>' +
' <div class="md-actions">' +
' <md-button ng-click="closeDialog()" class="md-primary">' +
' Close Dialog' +
' </md-button>' +
' </div>' +
'</md-dialog>',
locals: {
items: $scope.items
},
controller: DialogController
});
function DialogController(scope, $mdDialog, items) {
scope.items = items;
scope.closeDialog = function() {
$mdDialog.hide();
}
}
}
})(angular);
मैं पढ़ा है कि $
एक नामकरण परंपरा और एक अच्छा तरीका है यकीन है कि चर ओवरराइट नहीं मिलता है बनाने के लिए है। यह कोड उस सम्मेलन का पालन करने में असफल क्यों है? I.e इस संदर्भ में, हम कैसे जानते हैं कि $
का उपयोग कब करें या नहीं, और महत्व क्या है? मुझे विश्वास है कि इस मामले में यह सिर्फ नामकरण सम्मेलन से अधिक होना चाहिए, या लेखकों ने निरंतरता के प्रयोजनों के लिए $scope
का उपयोग करना चुना होगा।
नोट: मुझे $scope
और scope
के बीच अंतर जोड़ने के बारे में पता है, जहां scope
पैरामीटर के एक निश्चित सेट को इंगित कर रहा है। मुझे विश्वास नहीं है कि इस संदर्भ में scope
का उपयोग किया जाता है, लेकिन अगर मैं गलत हूं तो मुझे बताने में संकोच न करें।
धन्यवाद!
सही @Freelancer Thats। DialogController फ़ंक्शन एक सामान्य फ़ंक्शन है और एक कोणीय नियंत्रक या कोणीय निर्देश नियंत्रक नहीं है। दायरा सिर्फ तर्क का दिया गया नाम है। यह इंजेक्शन $ गुंजाइश नहीं है। –
अंतर्दृष्टि के लिए धन्यवाद-हालांकि, यह $ mdDialog.show ({नियंत्रक: DialogController}) के माध्यम से नियंत्रक के रूप में सूचीबद्ध है; ? –
और, अगर, यह नियंत्रक नहीं है-यह वास्तव में क्या कर रहा है? :-) धन्यवाद। –