নির্দেশক '…' দ্বারা প্রয়োজনীয় কন্ট্রোলার 'এনজিমডেল' সন্ধান করা যায় না


88

এখানে কি হচ্ছে?

আমার নির্দেশটি এখানে:

app.directive('submitRequired', function (objSvc) {
    return {
        require: 'ngModel',
        link: function (scope, elm, attrs, ctrl) {

          // do something
        }
    };
});

এখানে ব্যবহারের দিকনির্দেশনার একটি উদাহরণ:

<input submit-required="true"></input>

এখানে আসল ত্রুটি পাঠ্য:

Error: [$compile:ctreq] Controller 'ngModel', required by directive 'submitRequired', can't be found!
http://errors.angularjs.org/1.2.2/$compile/ctreq?p0=ngModel&p1=submitRequired
    at http://www.domain.ca/Scripts/angular/angular.js:78:12
    at getControllers (http://www.domain.ca/Scripts/angular/angular.js:5972:19)
    at nodeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:6139:35)
    at compositeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5550:15)
    at nodeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:6132:24)
    at compositeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5550:15)
    at publicLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5458:30)
    at http://www.domain.ca/Scripts/angular/angular.js:1299:27
    at Scope.$get.Scope.$eval (http://www.domain.ca/Scripts/angular/angular.js:11634:28)
    at Scope.$get.Scope.$apply (http://www.domain.ca/Scripts/angular/angular.js:11734:23) <input submit-required="true"> angular.js:9159
(anonymous function) angular.js:9159
$get angular.js:6751
nodeLinkFn angular.js:6141
compositeLinkFn angular.js:5550
nodeLinkFn angular.js:6132
compositeLinkFn angular.js:5550
publicLinkFn angular.js:5458
(anonymous function) angular.js:1299
$get.Scope.$eval angular.js:11634
$get.Scope.$apply angular.js:11734
(anonymous function) angular.js:1297
invoke angular.js:3633
doBootstrap angular.js:1295
bootstrap angular.js:1309
angularInit angular.js:1258
(anonymous function) angular.js:20210
trigger angular.js:2315
(anonymous function) angular.js:2579
forEach angular.js:300
eventHandler angular.js:2578ar.js:7874

উত্তর:


127

এখানে বর্ণিত হিসাবে: কৌণিক এনজিএমডেলকন্ট্রোলার , আপনার <inputপ্রয়োজনীয় নিয়ামক সরবরাহ করা উচিতngModel

<input submit-required="true" ng-model="user.Name"></input>

4
পারফেক্ট আমি ওটার তারিফ করি! আমি এটি উত্তর হিসাবে চিহ্নিত করব। আমার একটি ফলোআপ প্রশ্ন আছে। আমার কি অন্য প্রশ্ন পোস্ট করা উচিত বা আমার আসলটি পরিবর্তন করা উচিত?
— শন লুটিন

এখানে ফলো আপ হয় stackoverflow.com/questions/21807929/...
— শন Luttin

4
আমি ভুল করে টাইপ করেছি ng-modelsএবং এই ত্রুটি পেয়েছি।
— chovy

@ রাদিম কোহলার আমি খুশি যে আপনার প্রতিক্রিয়া আসলে অভাবী কাউকে সাহায্য করেছে, আমি নিজেও এটি অর্জনের খুব কাছাকাছি। উপরের ইনপুট বিবৃতি থেকে, "এনজি-মডেল" বৈশিষ্ট্যের জন্য আমি "{oot রুটবজেক্টনাম +" "এর মতো স্ট্রিং কনটেনটেশন ব্যবহার করতে পারি" "+ মডেলনাম}}" ?? !! যেহেতু $ স্কোপটিতে আমার মডেলগুলি সোজা নয় এবং ডিবির ইনপুট উপর ভিত্তি করে নিয়ামকটিতে গতিশীলভাবে তৈরি হয়েছে
— pavan kumar

@pavankumar এই লিঙ্কে চেক next.plnkr.co/edit/... এই ng-model="RootObject[alias]"যদি অধিবেশন থাকবে কাজ করবে '$ scope.RootObject = {}; $ scope.alias = "Firstname" `... ওরফে এর instaead, এমনকি foreach গতিশীল নাম প্রদান করতে পারে
— Radim Kohler

8

এই ইস্যুটির একটি সম্ভাব্য সমাধান ng-modelবৈশিষ্ট্য হ'ল সেই নির্দেশটি ব্যবহার করতে হবে।

সুতরাং 'এনজি-মডেল' বৈশিষ্ট্যে যুক্ত করা সমস্যার সমাধান করতে পারে।

<input submit-required="true" ng-model="user.Name"></input>

এই আমার সমাধান। ধন্যবাদ আমি মনে করি আমরা এনজি-চেঞ্জকে ট্রিগার করতে পয়েন্টটি মিস করেছি, উপাদানটির সাথে একটি এনজি-মডেল বাইন্ড হওয়া উচিত।
— antonD

1

আপনি লাইনটিও সরাতে পারেন

  require: 'ngModel',

আপনি যদি ngModelএই নির্দেশিকা প্রয়োজন না। অপসারণ ngModelআপনাকে সেই ngModelত্রুটি ছাড়াই নির্দেশিকা তৈরি করার অনুমতি দেবে ।


0

আমিও একই ত্রুটির মুখোমুখি হয়েছি, আমার ক্ষেত্রে আমি এনজি-মডেলের "এনজি-মোয়েল" এর মতো কিছু বানান মিস করেছি miss

ভুল এক: এনজি-মোয়েল = "ইউজারআরনাম" ডান এক: এনজি-মডেল = "ইউজারআরনেম"

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.