3

我有一个输入元素,它使用引导程序中的预先输入插件。我想将数据源属性设置为用户键入。效果类似于实例搜索。

<input id="test" data-provide="typeahead" data-source="{{titles}}"/>

在我的 AngularJS 控制器中,我有

$scope.titles = my_array_object

执行上述代码后,我在 Chrome 开发者工具中看到data-source属性设置正确。

但是在 Chrome 控制台中,当我执行

$('#test').data('source')

返回值为“”,一个空字符串

设置元素属性的正确方法是什么?

4

1 回答 1

1

我想你想要这样的东西:http ://plnkr.co/edit/ASeDxB5445HeiLKOq409?p=preview

 var myApp = angular.module("app",[]);

  myApp.directive('moDataSource',function() {
        return {
          restrict:"A", 
          scope:{
            moDataSource:"=",
          },              
          link: function(scope, elem, attrs) {
            var typeahead = elem.typeahead().data("typeahead");             
            typeahead.source = scope.moDataSource;     
          }         
        };
        });

   function MainCtrl($scope) {       
       $scope.addItem = function (item) {
         if(item.length > 0)
            $scope.array.push(item);
       };
       $scope.array = ['Safari',"Internet Explorer","FireFox","Chrome"];     
   }
于 2013-01-26T15:42:22.210 回答