Angularjs 在型号'之后执行任务;s的DOM将显示在视图中

Angularjs 在型号'之后执行任务;s的DOM将显示在视图中,angularjs,Angularjs,我的内容中有一个代码片段,它是从http获取的模型。我正在使用语法荧光笔美化代码。因此,我需要在为特定模型更新DOM后立即调用javascript函数 下面是一个示例代码来说明这一点。我用alert来演示它。在我的项目中,我将使用第三方插件,它将找到匹配的dom元素并对它们进行重新建模。 在这里 我希望在显示列表后发出警报 jsfiddle: 我的控制器是这样的 $scope.items = Model.notes(); alert('test'); 警报甚至在显示项目列表之前出现,我希望在

我的内容中有一个代码片段,它是从http获取的模型。我正在使用语法荧光笔美化代码。因此,我需要在为特定模型更新DOM后立即调用javascript函数

下面是一个示例代码来说明这一点。我用alert来演示它。在我的项目中,我将使用第三方插件,它将找到匹配的dom元素并对它们进行重新建模。 在这里 我希望在显示列表后发出警报

jsfiddle:

我的控制器是这样的

$scope.items = Model.notes();
alert('test');
警报甚至在显示项目列表之前出现,我希望在显示列表之后出现


任何帮助我实现这一目标的提示

你真幸运,我也想做同样的事。变异观察者是前进的道路,但如果您需要与旧浏览器向后兼容,您将需要更多的代码

适用于Firefox、Chrome和Safari

Javascript:

var app = angular.module('plunker', [])

.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
})

.directive('watchChanges', function ($parse, $timeout) {
    return function (scope, element, attrs) {
        var setter = $parse(attrs.watchChanges).assign;

        // create an observer instance
        var observer = new MutationObserver(function (mutations) {
            mutations.forEach(function (mutation) {
                $timeout(function () {
                    var text = angular.element('<div></div>').text(element.html()).text();
                    setter(scope, text);
                });
            });
        });

        // configuration of the observer:
        var config = {
            attributes: true,
            childList: true,
            characterData: true,
            subtree: true
        };

        // pass in the target node, as well as the observer options
        observer.observe(element[0], config);
    };
});
var-app=angular.module('plunker',[])
.controller('MainCtrl',函数($scope){
$scope.name='World';
})
.directive('watchChanges',函数($parse,$timeout){
返回函数(范围、元素、属性){
var setter=$parse(attrs.watchChanges).assign;
//创建一个观察者实例
var观察者=新的突变观察者(功能(突变){
突变。forEach(功能(突变){
$timeout(函数(){
var text=angular.element(“”).text(element.html()).text();
设置器(范围、文本);
});
});
});
//观察员的配置:
变量配置={
属性:正确,
儿童名单:是的,
characterData:true,
子树:真
};
//传入目标节点以及观察者选项
observer.observe(元素[0],配置);
};
});
HTML:


你好{{name}

名称 {{text}}
你真幸运,我也想做同样的事。变异观察者是前进的道路,但如果您需要与旧浏览器向后兼容,您将需要更多的代码

适用于Firefox、Chrome和Safari

Javascript:

var app = angular.module('plunker', [])

.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
})

.directive('watchChanges', function ($parse, $timeout) {
    return function (scope, element, attrs) {
        var setter = $parse(attrs.watchChanges).assign;

        // create an observer instance
        var observer = new MutationObserver(function (mutations) {
            mutations.forEach(function (mutation) {
                $timeout(function () {
                    var text = angular.element('<div></div>').text(element.html()).text();
                    setter(scope, text);
                });
            });
        });

        // configuration of the observer:
        var config = {
            attributes: true,
            childList: true,
            characterData: true,
            subtree: true
        };

        // pass in the target node, as well as the observer options
        observer.observe(element[0], config);
    };
});
var-app=angular.module('plunker',[])
.controller('MainCtrl',函数($scope){
$scope.name='World';
})
.directive('watchChanges',函数($parse,$timeout){
返回函数(范围、元素、属性){
var setter=$parse(attrs.watchChanges).assign;
//创建一个观察者实例
var观察者=新的突变观察者(功能(突变){
突变。forEach(功能(突变){
$timeout(函数(){
var text=angular.element(“”).text(element.html()).text();
设置器(范围、文本);
});
});
});
//观察员的配置:
变量配置={
属性:正确,
儿童名单:是的,
characterData:true,
子树:真
};
//传入目标节点以及观察者选项
observer.observe(元素[0],配置);
};
});
HTML:


你好{{name}

名称 {{text}}
我们需要使用$timeout


是的,这太傻了,对我来说,这似乎用词不当。我对angularjs来说只有两天大。对不起,浪费了你的时间

我们需要使用$timeout


是的,这太傻了,对我来说,这似乎用词不当。我对angularjs来说只有两天大。对不起,浪费了你的时间

更新。很抱歉我觉得这是愚蠢的怀疑,所以不想添加太多细节。更新。很抱歉我觉得这是一个愚蠢的怀疑,所以不想添加太多细节。你能不能再看看我的问题,我用一个例子更新了它。这比你解释的更愚蠢。谢谢你的努力。你能再看看我的问题吗?我用一个例子更新了它。这比你解释的更愚蠢。谢谢你的努力。
$scope.items = Model.notes();
$timeout(function () {
    alert('test');
})