如何将对象从视图传递到离子控制器

时间:2016-08-29 09:34:14

标签: object ionic-framework

我想将一个对象从我的视图传递给我的控制器,我不知道该做什么......

对象是经过检查的音乐:

<label class="item item-input" id="lbl-name-playlist">
    <input ng-model="nom" type="text" placeholder="Nom de la playlist">
</label>
<div class="list">
    <ion-list ng-repeat="laMusique in lesMusiques" ng-model="laMusique">
        <ion-checkbox class="item" ng-model="isChecked">{{laMusique.titre}} - {{laMusique.artiste}}</ion-checkbox>
    </ion-list>
</div>

<button class="button button-full button-balanced" ng-click="createPlaylist(nom, laMusique)">Enregistrer</button>

我的控制员:

$scope.createPlaylist = function(nomPlaylist, laMusique){

  var nom = nomPlaylist;
  //console.log(nom);
  var lesMusiquesSelectionnees = laMusique;
  console.log(laMusique);
};

console.log(laMusique)告诉我“未完成”......

2 个答案:

答案 0 :(得分:1)

也许您应该编写一个函数,每次单击一个复选框时都会运行该函数,并检测它是真还是假,如果是真,那么它会将laMusique.titre添加到作用域中的数组。

类似的东西:

label class="item item-input" id="lbl-name-playlist">
    <input ng-model="nom" type="text" placeholder="Nom de la playlist">
</label>
<div class="list">
    <ion-list ng-repeat="laMusique in lesMusiques">
        <ion-checkbox class="item" ng-model="isChecked" ng-click="clickedCheckbox(laMusique, isChecked)">{{laMusique.titre}} - {{laMusique.artiste}}</ion-checkbox>
    </ion-list>
</div>

<button class="button button-full button-balanced" ng-click="createPlaylist(nom)">Enregistrer</button>

并在您的控制器中:

  $scope.musiqueSelected = [];

  $scope.createPlaylist = function(nomPlaylist){

   var nom = nomPlaylist;
   //console.log(nom);
   var lesMusiquesSelectionnees = $scope.musiqueSelected;
   console.log($scope.musiqueSelected);
  }    

   $scope.clickedCheckbox = function(Item, isChecked) {
       if (isChecked) {
            //in Item contains your current selected object
            //as per your need use it
            var selectedName = Item.titre;
            //add to table if selected
            $scope.musiqueSelected.push(selectedName);
       }
   }

答案 1 :(得分:0)

laMusique它是lesMusiques的项目,那么你应该把:

<button class="button button-full button-balanced" ng-click="createPlaylist(nom, laMusique)">Enregistrer</button>

ng-repeatlaMusique或拥有桥变量。