0

angular で ui-select2 の変数の配列を事前選択する際に問題があります。

私のコントローラー:

$scope.roles= [{"_id":"545e8f2f64f29dc1540f5a88","__v":0,"created":"2014-11-08T21:46:23.553Z","comments":"Administrator Rolle","name":"admin"}];

$scope.userdata.roles = [{"_id":"545e8f2f64f29dc1540f5a88","__v":0,"created":"2014-11-08T21:46:23.553Z","comments":"Administrator Rolle","name":"admin"}];

私の見解:

<ui-select multiple ng-model="userdata.roles" theme="select2" ng-disabled="disabled" class="input-medium" style="width:100% !important;">
    <ui-select-match placeholder="Wählen Sie ein oder mehrere Rollen...">{{$item.name}}</ui-select-match>
    <ui-select-choices repeat="role in roles | filter:$select.search">
        {{role.name}} ({{role.comments}})
    </ui-select-choices>
</ui-select>

ng-model 値を事前に選択しないでください

割り当てる$scope.userdata.roles = $scope.rolesと動作します。

可能であれば、この配列を使用したいのですが、これでコーディングできませんでした:

$scope.roles= [{"_id":"545e8f2f64f29dc1540f5a88","__v":0,"created":"2014-11-08T21:46:23.553Z","comments":"Administrator Rolle","name":"admin"}];

$scope.userdata.roles = ["admin"];

編集:これをビューとして使用する場合:

<ui-select multiple ng-model="userdata.roles" theme="select2" ng-disabled="disabled" style="width:100% !important;">
    <ui-select-match placeholder="Bitte wählen Sie eine oder mehrere Rollen...">{{$item.name}} &lt;{{$item.comments}}&gt;</ui-select-match>
    <ui-select-choices repeat="role.name as role in roles">
        <div ng-bind-html="role.name | highlight: $select.search"></div>
        <small>
            {{role.comments}}
        </small>
    </ui-select-choices>
</ui-select>

これは私のコントローラー用です:

$scope.roles            = [ 
        {
            "_id" : "545e8f2f64f29dc1540f5a88",
            "__v" : 0,
            "created" : "2014-11-08T21:46:23.553Z",
            "comments" : "Administrator Rolle",
            "name" : "admin"
        }
    ];
$scope.userdata.roles = ["admin"];

それも機能しません。タイミングに問題はありますか?

4

2 に答える 2

0

デフォルトとして設定したい配列からオブジェクト全体を選択する必要があります

$scope.roles= [{"_id":"545e8f2f64f29dc1540f5a88","__v":0,"created":"2014-11-08T21:46:23.553Z","comments":"Administrator Rolle","name":"admin"}];

$scope.userdata.roles = $scope.roles[0] //set first record as default;
于 2014-11-10T12:51:52.870 に答える