3

ブートストラップの先行入力プラグインを使用する入力要素があります。ユーザー入力として data-source 属性を設定したいと考えています。効果はインスタンス検索のようなものです。

<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 に答える