角度控制器:使用带有变量名称的自定义属性访问控制器中的正确变量

时间:2015-01-15 11:57:44

标签: javascript jquery angularjs controller attributes

我使用指令创建了一个自定义<select>下拉元素,该指令具有selecting属性,该指令用于从控制器中提取正确的数据以填充选项列表。我想知道这是否适合使用AngularJS的不同部分。我是Angular的新手,但这就是我完成这项任务的方式。

在需要我的select版本的网页的HTML部分中,这就是所有需要编写的内容:

    <sliding-select selecting="areas"></sliding-select>

在控制器中,主对象上有一个名为areas的对应变量,其中包含一个名为options的数组,其成员应该是区域选择的选项。

这是指令的一部分,它接收数据并为areas数组的每个成员创建一个选项元素:

    .directive('slidingSelect', function($timeout) {
        return {
            restrict: 'E',

            compile: function(element, attrs) {
                var selecting = attrs.selecting;
                // ng-repeated options come from selecting attr
                var dropDownList = $('<div class="sliding-select-list"></div>');
                dropDownList.append('<div class="sliding-select-option" ng-repeat="item'+
                    ' in home.'+selecting+'.options">{{item.name}}</div>');
                element.append(dropDownList);

             }
         };

我有点担心创建一个元素,其ng-repeat短语通过从中创建一个字符串来使用变量名称,这似乎很麻烦。也许Angular社区首选这个问题的方法完全不同?

0 个答案:

没有答案