簡體   English   中英

綁定到Angular中的控制器對象

[英]binding to controller object in Angular

我是angular的新手,試圖將元素的內容綁定到控制器的Scope中,以便能夠在另一個函數中使用它:

這是解決方案:

我想要<span>元素{{y.facetName}}中的內容

<span ng-model="columnFacetname">{{y.facetName}}</span>

發送到控制器,並放在控制器中的對象$scope.columnFacetname

這是我正在研究的片段:

<div ng-repeat="y in x.facetArr|limitTo: limit track by $index ">
        <div class="list_items panel-body ">
            <button class="ButtonforAccordion" ng-click="ListClicktnColumnFilterfunc(); onServerSideButtonItemsRequested(ListClicktnColumnFilter, myOrderBy)">
                <span>{{$index+1}}</span>
                <span ng-model="columnFacetname">{{y.facetName}}</span>
                <span>{{y.facetValue}}</span>
            </button>
        </div>
</div>

angular.module('mainModule').controller('MainCtrl', function($scope, $http) {
                $scope.columnFacetname = "";
                $scope.ListClicktnColumnFilter = "";
                $scope.ListClicktnColumnFilterfunc = function() {
                    $scope.ListClicktnColumnFilter = "\":\'" + $scope.columnFacetname + "\'";
                };
            }

問題是$scope.ListClicktnColumnFilter中沒有顯示$scope.columnFacetname ,這意味着$scope.columnFacetname沒有很好地綁定。

在您的ng-click中,而不是調用兩個不同的函數

ng-click="ListClicktnColumnFilterfunc(); onServerSideButtonItemsRequested(ListClicktnColumnFilter, myOrderBy)"

你可以這樣聲明

ng-click="columnFacetname = y.facetName; onServerSideButtonItemsRequested(columnFacetname , myOrderBy)"

您正在嘗試通過將模型分配給控制器中的ListClicktnColumnFilter將該模型傳遞給另一個函數

通過這種方式,您可以實現相同的目的。

我已經用樣本數組完成了一個小節,

http://embed.plnkr.co/YIwRLWXEOeK8NmYmT6VK/preview

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM