سؤال

أحاول الحصول على قيمة افتراضية في عنصر SELECT باستخدام الزاوي، ويبدو أنه لا يعمل.بغض النظر عما أفعله، فهو دائمًا يختار عنصرًا افتراضيًا فارغًا، عندما يتم تحميل البيانات عن بعد في وحدة التحكم

هذا هو HTML الخاص بي:

<select 
ng-options="Domain.Name for Domain in Domains"
ng-model="CurrentDomain"
ng-init="CurrentDomain = Domains[0]"
></select>

إليك رمز وحدة التحكم ذات الصلة:

$scope.Domains = $resource('api/domain').query();
$scope.CurrentDomain = $scope.Domains[0];

أدرك أن هذا السؤال قد تم طرحه عدة مرات، وقد قرأت جميع الأسئلة الأخرى، ولكن لا يبدو أن أيًا من الاقتراحات يعمل.إذا كان لدى أي شخص أي اقتراحات أخرى، واسمحوا لي أن أعرف.

شكرًا.

هل كانت مفيدة؟

المحلول

المشكلة في الوعد $scope.Domains وعد وبانتظار حلها.لذا، $scope.Domains[0] غير محدد في ذلك الوقت.

لذا فإن الكود الصحيح هو كما يلي

var Domains = $resource('api/domain').query(function(){
    $scope.Domains = Domains;
    $scope.CurrentDomain = Domains[0];
});

نسخة بلونكر - http://plnkr.co/edit/ppjSWDKT4lHWvEcY0PMC?p=preview

تشير إلى https://github.com/angular/angular.js/issues/4298, ng-init لم يعد قادرا على حل الوعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top