作为标题,当我尝试使用 angularjs 指令应用自动完成时。插件本身可以工作,但是指令初始化后的其余代码,它不起作用。并且没有显示任何错误。
这里是在线测试。
作为标题,当我尝试使用 angularjs 指令应用自动完成时。插件本身可以工作,但是指令初始化后的其余代码,它不起作用。并且没有显示任何错误。
这里是在线测试。
这对我来说似乎是一个黑客,但我认为这可能没问题。这是我在 SO 上问另一个问题时发现的(实际上是 charlieftl 的提示)。
当您在指令中进行 DOM 操作时,最好在所有内容都初始化后进行(有点像ready
jQuery 中的回调)。为此,您可以使用setTimeout
or $timeout
(由于某种原因在您的示例中不起作用)。
这是对您的指令的修复:
myApp.directive('uicomplete', function($http) {
return function(scope, element, attrs) {
setTimeout(function() {
element.autocomplete({
source: ["ActionScript","AppleScript","Asp"]
});
}, 1);
}
});
在代码中:http: //jsbin.com/ufihip/7/