Javascript $http.get在html页面中加载数据后的成功事件
我想在从$http.get请求将数据加载到dom中之后初始化一些jquery插件。 见以下代码:Javascript $http.get在html页面中加载数据后的成功事件,javascript,html,angularjs,Javascript,Html,Angularjs,我想在从$http.get请求将数据加载到dom中之后初始化一些jquery插件。 见以下代码: //this is get request code. I'm getting json data properly. $http.get('reordering.json').success(function(data) { $scope.words = data.data; alert($("#sortable").html()) $("#sort
//this is get request code. I'm getting json data properly.
$http.get('reordering.json').success(function(data) {
$scope.words = data.data;
alert($("#sortable").html())
$("#sortable").sortable();
});
下面的代码
正在正确生成,但我无法初始化jquery插件,因为在alert()
中,它没有显示从json加载的数据setTimeout()
可以工作,但我想知道哪种方法是正确的
<ul id="sortable" class="dragContainer">
<li class="dragHolder" ng-repeat="word in words">
<div class="drag">{{word.value}}</div>
</li>
</ul>
-
{{word.value}}
首先。你现在做错了一些事情:
.dragContainer
上激活jQuery UI sortable的指令来解决问题。这种指令的有效性。代码将类似于以下内容:
<ul class="dragContainer" ng-model="words" ui-sortable>
<li class="dragHolder" ng-repeat="word in words">
<div class="drag">{{word}}</div>
</li>
</ul>
我用$timeout
替换了$http
,以模拟异步请求
angular
.module("app", ["ui.sortable"])
.controller("ctrl", function ($scope, $timeout) {
$timeout(function () {
$scope.words = ["word one", "word two", "word three", "word four"];
}, 1500);
})