এনজুলারজেএস-এ এনজি-রিপিট লুপের ভিতরে এনজি-মডেল বাঁধাই inding


96

আমি এনজি-রিপিট লুপের ভিতরে স্কোপটির বিষয়টি সমাধান করার চেষ্টা করছি - আমি বেশ কয়েকটি প্রশ্ন ব্রাউজ করেছি তবে আমার কোডটি কার্যকর করতে সক্ষম হয়নি।

নিয়ামক কোড:

function Ctrl($scope) {
  $scope.lines = [{text: 'res1'}, {text:'res2'}];
}

দেখুন:

<div ng-app>
     <div ng-controller="Ctrl">
       <div ng-repeat="line in lines">
           <div class="preview">{{text}}{{$index}}</div>

       </div>
       <div ng-repeat="line in lines">
           <-- typing here should auto update it's preview above -->
           <input value="{{line.text}}" ng-model="text{{$index}}"/>
            <!-- many other fields here that will also affect the preview -->
       </div>
     </div>
    </div>

এখানে একটি বেহালতা: http://jsfiddle.net/cyberwombat/zqTah/

মূলত আমার কাছে একটি অবজেক্ট রয়েছে (এটি একটি ফ্লায়ার জেনারেটর) রয়েছে যেখানে একাধিক পাঠ্য পাঠ্য রয়েছে। পাঠ্যের প্রতিটি লাইন ব্যবহারকারী (টেক্সট, ফন্ট, আকার, রঙ ইত্যাদি) দ্বারা টুইট করতে পারে এবং আমি এর জন্য পূর্বরূপ তৈরি করতে চাই। উপরের উদাহরণটি কেবল পাঠ্য প্রবেশ করানোর জন্য ইনপুট ক্ষেত্রটি দেখায় এবং আমি চাই যে স্বয়ংক্রিয়ভাবে / হিসাবে আপনি টাইপ করুন প্রাকদর্শন ডিভিউ আপডেট করুন তবে আরও অনেকগুলি নিয়ন্ত্রণ থাকবে।

আমিও নিশ্চিত নই যে আমি লুপিং সূচকটির জন্য কোডটি সঠিকভাবে পেয়েছি - লুপের ভিতরে কোনও এনজি-মডেল নাম তৈরি করার সেরা উপায়?


উত্তর:


117

এনজি-রিপিট লুপের প্রতিটি পুনরাবৃত্তির জন্য, lineআপনার অ্যারেতে কোনও বস্তুর রেফারেন্স। অতএব, মানটির পূর্বরূপ দেখতে, ব্যবহার করুন {{line.text}}

একইভাবে, টেক্সট, একই databind করার databind করুন: ng-model="line.text"valueএনজি-মডেল ব্যবহার করার সময় আপনাকে ব্যবহার করার দরকার নেই (আসলে আপনার উচিত হবে না)।

বেহালার

স্কোপগুলি এবং এনজি-রিপিটকে আরও গভীরভাবে দেখার জন্য দেখুন অ্যাংুলারজেএস-এ স্কোপ প্রোটোটাইপাল / প্রোটোটাইপিকাল উত্তরাধিকারের সংক্ষিপ্তকরণগুলি কী কী? বিভাগ, এনজি-পুনরাবৃত্তি


এই কোড এর e2e পরীক্ষা সম্পর্কে কি? আমি বলতে চাইছি কোনও মডেলটি গতিশীল হলে কোনও ইনপুট কীভাবে নির্বাচন করবেন?
দেবমাও

4
পুনরুক্তি করা আইটেমগুলি কি তখন বস্তু হতে হবে? অন্য কথায় এগুলি স্ট্রিংয়ের মতো আদিম হতে পারে না, যেমন $ স্কোপ.লাইনস = ['এ', 'বি', 'সি']?
বার্তো

4
@ বার্তো, হ্যাঁ, এগুলি অবশ্যই বস্তু হতে হবে। এটি লিঙ্কযুক্ত রেফারেন্সে আলোচনা করা হয়েছে, "স্কোপ প্রোটোটাইপালের সংজ্ঞা কী কী ..."।
রাজকোক

আমি একই জাতীয় এনজি-রিপিট / এনজি-মডেল সমস্যা পেয়েছি। আমি কিছু গবেষণা করেছি এবং আমার মনে হয় আমি প্রায় এসেছি। যদি কেউ একবার নজর দিতে পারে তবে আমি সত্যিই এটির প্রশংসা করব। stackoverflow.com/questions/32855575/...
user1532669

2
<h4>Order List</h4>
<ul>
    <li ng-repeat="val in filter_option.order">
        <span>
            <input title="{{filter_option.order_name[$index]}}" type="radio" ng-model="filter_param.order_option" ng-value="'{{val}}'" />
            &nbsp;{{filter_option.order_name[$index]}}
        </span>
        <select title="" ng-model="filter_param[val]">
            <option value="asc">Asc</option>
            <option value="desc">Desc</option>
        </select>
    </li>
</ul>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.