在Angular的另一个变量中使用变量?

时间:2016-04-07 12:15:47

标签: angularjs multi-select

我正在尝试使用此组件 https://github.com/alexklibisz/angular-dual-multiselect-directive 但我不知道如何将数据从后端传递到组件。

我从后端获取数据:

var vm = this;
vm.Categoria1 = [];
 $http.get('http://localhost:5541/api/date/ListCategorii').success(function (data) {
    vm.Categoria1 = data;
}
);

我得到了数据:

 [{"Id":1,"NumeCategorie":"Fructe"},{"Id":2,"NumeCategorie":"Legume"},{"Id":3,"NumeCategorie":"Ciocolata"}]

但低于vm.Categoria1为空:

$scope.demoOptions = {
    title: 'Demo: Recent World Cup Winners',
    filterPlaceHolder: 'Start typing to filter the lists below.',
    labelAll: 'All Items',
    labelSelected: 'Selected Items',
    helpMessage: ' Click items to transfer them between fields.',
    /* angular will use this to filter your lists */
    orderProperty: 'name',
    /* this contains the initial list of all items (i.e. the left side) */
    items: vm.Categoria1, //[{ 'id': '50', 'name': 'Germany' }, { 'id': '45', 'name': 'Spain' }, { 'id': '66', 'name': 'Italy' }, { 'id': '30', 'name': 'Brazil' }, { 'id': '41', 'name': 'France' }, { 'id': '34', 'name': 'Argentina' }],
    /* this list should be initialized as empty or with any pre-selected items */
    selectedItems: []
};

谢谢。

3 个答案:

答案 0 :(得分:1)

您需要在成功回调中设置demoOptions:

var vm = this;
vm.Categoria1 = [];
 $http.get('http://localhost:5541/api/date/ListCategorii').success(function (data) {
        vm.Categoria1 = data;
        $scope.demoOptions = {
        title: 'Demo: Recent World Cup Winners',
        filterPlaceHolder: 'Start typing to filter the lists below.',
        labelAll: 'All Items',
        labelSelected: 'Selected Items',
        helpMessage: ' Click items to transfer them between fields.',
        /* angular will use this to filter your lists */
        orderProperty: 'name',
        /* this contains the initial list of all items (i.e. the left side) */
        items: vm.Categoria1, //[{ 'id': '50', 'name': 'Germany' }, { 'id': '45', 'name': 'Spain' }, { 'id': '66', 'name': 'Italy' }, { 'id': '30', 'name': 'Brazil' }, { 'id': '41', 'name': 'France' }, { 'id': '34', 'name': 'Argentina' }],
        /* this list should be initialized as empty or with any pre-selected items */
        selectedItems: []
    };
});

答案 1 :(得分:1)

  

其他选项是,你可以创建一个包含http.get的函数   在页面加载时调用并调用该函数

doubles

答案 2 :(得分:0)

您应该在请求成功中设置项目:

$http.get('http://localhost:5541/api/date/ListCategorii')
     .success(function (data) {
          $scope.demoOptions.items  = vm.Categoria1 = data;              
       });