दिलचस्प पोस्ट
लिस्प-1 और लिस्प-2 के बीच अंतर क्या है? अपरिभाषित विधि 'कार्य' रेक 0.9.0 का उपयोग कर एक एंड्रॉइड व्यू कैसे बनाएं जो स्वाइप / फ्लिंग पर दृश्यों के बीच फ़्लिप करता है सर्वलेट jsp के लिए Servlet.service () क्यों इस अपवाद को फेंक दिया? जावास्क्रिप्ट regex – वैकल्पिक पीछे देखो? जावा में दशमलव दशमलव स्वरूपण Windows 8.1 पर विंडोज 10 यूनिवर्सल एप्प्स चलाएं क्या मुझे 'सीमा: कोई नहीं' या 'सीमा: 0' का उपयोग करना चाहिए? jQuery में सहारा () और एट्रि () के बीच अंतर और जब attr () और prop () का उपयोग करने के लिए) आईओएस 7 आईपैड सफारी लैंडस्केप इनरहइट / बाहरी हाइट लेआउट इश्यू नवीनतम गैर-एनए मूल्य के साथ एनएएस की जगह क्या मैं MySQL में एक डिफ़ॉल्ट मान के लिए फ़ंक्शन का उपयोग कर सकता हूं? क्या जावा में सी # के रेफरी और आउट कीवर्ड्स की तरह कुछ है? क्या एचटीटीपी क्लाइंट एक साथ उपयोग करने के लिए सुरक्षित है? ग्राफ़ के किनारे के विरुद्ध भूखंड चलाते समय मार्जिन जोड़ें

Ng- शामिल करते समय गुंजाइश खोना

मेरे पास इस मॉड्यूल मार्ग हैं:

var mainModule = angular.module('lpConnect', []). config(['$routeProvider', function ($routeProvider) { $routeProvider. when('/home', {template:'views/home.html', controller:HomeCtrl}). when('/admin', {template:'views/admin.html', controller:AdminCtrl}). otherwise({redirectTo:'/connect'}); }]); 

होम एचटीएमएल:

 <div ng-include src="views.partial1"></div> 

partial1 HTML:

 <form ng-submit="addLine()"> <input type="text" ng-model="lineText" size="30" placeholder="Type your message here"> </form> 

HomeCtrl :

 function HomeCtrl($scope, $location, $window, $http, Common) { ... $scope.views = { partial1:"views/partial1.html" }; $scope.addLine = function () { $scope.chat.addLine($scope.lineText); $scope.lines.push({text:$scope.lineText}); $scope.lineText = ""; }; ... } 

addLine फ़ंक्शन $scope.lineText में, यह ng-controller="HomeCtrl" को partial1.html ng-controller="HomeCtrl" जोड़कर हल किया जा सकता है, हालांकि यह नियंत्रक को दो बार कहा जाता है। मुझे यहां क्या समझ नहीं आ रहा है?

वेब के समाधान से एकत्रित समाधान "Ng- शामिल करते समय गुंजाइश खोना"

यह ng-include जो एक नया बच्चा गुंजाइश बनाता है, इसलिए $scope.lineText परिवर्तित नहीं है। मुझे लगता है कि this वर्तमान दायरे को संदर्भित करता है, इसलिए यह। this.lineText सेट होना चाहिए।

@ रेनन के रूप में उल्लेख किया गया है, एनजी-इन में एक नया बच्चा गुंजाइश है। यह गुंजाइश प्रोटोटाइप घर से बाहर निकलती है (नीचे दी गई रेखाएं देखें) HomeCtrl क्षेत्र से ng-model="lineText" वास्तव में बाल गुंजाइश पर एक आदिम गुंजाइश संपत्ति बनाता है, न कि होमकैटल के दायरे में। यह बच्चा दायरा अभिभावक / होमकूट क्षेत्र के लिए सुलभ नहीं है:

एनजी-क्षेत्र शामिल हैं

उपयोगकर्ता को HomeCtrl के $ scope.lines ऐरे में टाइप करने के लिए, मैं सुझाव देता हूं कि आप ऐडलाइन फ़ंक्शन के लिए मान पास करें:

  <form ng-submit="addLine(lineText)"> 

इसके अलावा, चूंकि लाइन टेक्स्ट एनजीइन-इन गुंजाइश / आंशिक के स्वामित्व में है, मुझे लगता है कि इसे साफ़ करने के लिए जिम्मेदार होना चाहिए:

  <form ng-submit="addLine(lineText); lineText=''"> 

फ़ंक्शन एडिडाइन () इस प्रकार बन जाएगा:

 $scope.addLine = function(lineText) { $scope.chat.addLine(lineText); $scope.lines.push({ text: lineText }); }; 

बेलाल

विकल्प:

  • HomeCtrl के $ दायरे पर ऑब्जेक्ट प्रॉपर्टी को परिभाषित करें, और आंशिक में इसका प्रयोग करें: ng-model="someObj.lineTextng-model="someObj.lineText ; बेला
  • अनुशंसित नहीं है, यह हैक का अधिक है: HomeCtrl $ दायरे पर एक lineText गुण बनाने / बनाने के लिए आंशिक में $ अभिभावक का उपयोग करें: ng-model="$parent.lineText" ; बेला

यह समझाने में थोड़ा सा है कि उपरोक्त दो विकल्प क्यों काम करते हैं, लेकिन इसे पूरी तरह से समझाया गया है: AngularJS में गुंजाइश प्रोटोटाइप / प्रोटोटाइपिकल विरासत की बारीकियों क्या हैं?

मैं ऐड-लाइन () फ़ंक्शन में इसका उपयोग this की अनुशंसा नहीं करता हूं। यह बहुत कम स्पष्ट हो जाता है कि कौन सा क्षेत्र तक पहुंचा जा रहा है / हेरफेर किया जा रहा है

इसे स्वीकार किए गए उत्तर के रूप में प्रयोग करने के बजाय, सुझाव देते हैं कि इसके बजाय $parent उपयोग करें तो आपके partial1.html में आपके पास होगा:

 <form ng-submit="$parent.addLine()"> <input type="text" ng-model="$parent.lineText" size="30" placeholder="Type your message here"> </form> 

यदि आप ng-include या अन्य निर्देशों में दायरे के बारे में अधिक जानना चाहते हैं, तो इसे देखें : https://github.com/angular/angular.js/wiki/Understanding-Scopes#ng-include

मुझे यह पता चल गया है कि माता-पिता और उप क्षेत्र डेटा को मिलाए बिना इस मुद्दे के आसपास कैसे काम किया जाए ng-include तत्व पर ng-if सेट करें और इसे एक स्कोप वैरिएबल पर सेट करें। उदाहरण के लिए :

 <div ng-include="{{ template }}" ng-if="show"/> 

अपने नियंत्रक में, जब आप अपने सब स्कोप में आवश्यक सभी डेटा सेट करते हैं, तो true को दिखाने के लिए सेट करें। ng-include इस समय आपके दायरे में सेट डेटा को कॉपी करेंगे और इसे आपके उप क्षेत्र में सेट करेंगे

अंगूठे का नियम गुंजाइश के आंकड़े को कम करना है, गुंजाइश अधिक है, अन्यथा आपको यह स्थिति है।

मैक्स