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