/ / एनजी-नियंत्रक इस उदाहरण के कार्य के साथ काम क्यों नहीं करता है? - कोणीयज

इस उदाहरण के लिए एनजी-कंट्रोलर फ़ंक्शन के साथ क्यों काम नहीं करता है? - कोणीय

Im एक ट्यूटोरियल के साथ पालन करने की कोशिश कर रहा है, लेकिन यह कोड मेरे लिए काम नहीं करता है। क्या कोई इसे क्यों और कैसे हल कर सकता है? मुझे लगता है कि यह एनजी-नियंत्रक के साथ करना है, लेकिन यह सुनिश्चित नहीं है कि क्यों।

<!doctype html>

<html ng-app>
<head>
<title>AngularJS 2</title>
<script src="angular.min.js"></script>
</head>

<body ng-controller="MyController">
<h1>{{author.name}}</h1>
<p>{{ author.title + ", " + author.company }}</p>

<script>
function MyController($scope) {
$scope.author = {
"name" : "Ray Villa",
"title" : "Staff Author",
"company" : "boss`enter code here`.com"
}
}
</script>

</body>
</html>

उत्तर:

जवाब के लिए 2 № 1

आपका कोड कोणीय 1.3+ के साथ काम नहीं करेगा क्योंकि आपका नियंत्रक वैश्विक फ़ंक्शन के रूप में परिभाषित कर रहा है।

AngularJS प्रलेखन से:

1.2 से 1.3 तक पलायन

नियंत्रकों

3f2232b5 के कारण, $ नियंत्रक अब नहीं दिखेगाखिड़की पर नियंत्रकों के लिए। नियंत्रकों के लिए खिड़की पर देखने का पुराना व्यवहार मूल रूप से उदाहरणों, डेमो, और खिलौना ऐप में उपयोग के लिए था। हमने पाया कि वैश्विक नियंत्रक कार्यों ने खराब प्रथाओं को प्रोत्साहित किया, इसलिए हमने इस व्यवहार को डिफ़ॉल्ट रूप से अक्षम करने का संकल्प लिया।

माइग्रेट करने के लिए, अपने नियंत्रकों को ग्लोबल्स के रूप में उजागर करने के बजाय मॉड्यूल के साथ पंजीकृत करें नियंत्रक को इसके अनुसार परिभाषित करें:

<html ng-app="myApp">
<head>
<title>AngularJS 2</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>

<body ng-controller="MyController">
<h1>{{author.name}}</h1>
<p>{{ author.title + ", " + author.company }}</p>

<script>
angular.module("myApp", []);

angular.module("myApp").controller("MyController", function ($scope) {
$scope.author = {
"name": "Ray Villa",
"title": "Staff Author",
"company": "boss`enter code here`.com"
}
});
</script>

</body>

</html>


जवाब के लिए 0 № 2

आप अपने फ़ंक्शन की परिभाषा पर एक बंद ब्रेस को याद कर रहे हैं।


जवाब के लिए 0 № 3

आप कोणीय संदर्भ याद कर रहे हैं।

आपके एप्लिकेशन को एक मॉड्यूल की आवश्यकता होती है, इसलिए आपको लिखना होगा ng-app="myApp" और अपने नियंत्रक फ़ंक्शन को पंजीकृत करने के लिए उस मॉड्यूल का उपयोग करें।

function MyController($scope) { /* ... */ }

angular.module("myApp, []).controller("MyController", MyController);

यह आपके (myApp) एप्लिकेशन को बूटस्ट्रैप करने और उस विशिष्ट नियंत्रक को पंजीकृत करने के लिए कोणीय को बताएगा।