当前位置:  开发笔记 > 编程语言 > 正文

在AngularJS指令中查看函数的值

如何解决《在AngularJS指令中查看函数的值》经验,为你挑选了2个好方法。

有没有办法在AngularJS指令中观察函数表达式更改的值?我有以下HTML和Javascript,并且{{editable()}}模板中的插值显示值的计算结果为true,而检查Chrome中的HTML元素则显示contenteditable为false.

关于如何观察此函数的值的任何建议都会改变,并相应地更新元素attr?或者有更好的方法来实现这一点(我仍然想评估功能)?

HTML:

使用Javascript:

mod
    .directive(
            'editable',
            function() {
                return {
                    restrict : 'A',
                    template : '{{content}} ({{editable()}})',
                    scope : {
                        'content' : '=',
                        'editable' : '&'
                    },
                    link : function(scope, element, attrs) {
                        scope.$watch('editable', function(newValue) {
                            element.attr('contenteditable', newValue());
                        });
                    }
                };
            });

Dan.. 10

尝试将手表放在上面'editable()'而不是'editable'

说明:要这样做的原因是因为'&'指向动态生成的属性表达式的函数包装器而不是表达式本身.这个特殊的包装函数返回值account.hasRole('ROLE_ADMIN').



1> Dan..:

尝试将手表放在上面'editable()'而不是'editable'

说明:要这样做的原因是因为'&'指向动态生成的属性表达式的函数包装器而不是表达式本身.这个特殊的包装函数返回值account.hasRole('ROLE_ADMIN').



2> 小智..:

我也更喜欢做那样的事情:

scope.$watch(function () {
  return scope.editable();
}, function (val) {
   // ...
});

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有