AngularJS无法更新数据属性?

时间:2012-10-17 14:09:13

标签: html5 angularjs

我有一个输入元素,它使用bootstrap中的预先输入插件。 我想将数据源属性设置为用户输入。效果就像实例搜索一样。

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

在我的AngularJS控制器中,我有

$scope.titles = my_array_object

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

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

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

返回值为“”,空字符串

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

1 个答案:

答案 0 :(得分: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"];     
   }