Angularjs 如何在每次输入属性更改时对函数进行指令调用?

Angularjs 如何在每次输入属性更改时对函数进行指令调用?,angularjs,Angularjs,我的HTML中有以下内容: <markdown abc="{{ q.qv.text }}"></markdown> 当页面出现时,我进行HTTP调用以获取数据,指令工作,获取q.qv.text的last值并显示它。在此之后,HTTP调用返回并填充q.qv.text 但是到那时,q.qv.text的旧值已经显示出来 如何使该指令对q.qv.text中的更改做出反应,并调用converter.makeHTML来处理新值?您在变量上放置了一个手表: 您的答案有一些语法错误,

我的HTML中有以下内容:

<markdown abc="{{ q.qv.text }}"></markdown>
当页面出现时,我进行HTTP调用以获取数据,指令工作,获取q.qv.text的last值并显示它。在此之后,HTTP调用返回并填充q.qv.text

但是到那时,q.qv.text的值已经显示出来


如何使该指令对q.qv.text中的更改做出反应,并调用converter.makeHTML来处理新值?

您在变量上放置了一个手表:


您的答案有一些语法错误,它遗漏了var htmlText=converter.makeHtml(attrs.abc);这只是为了指出通过scope访问abc变量和attrs.abc之间的区别,attrs.abc将以文本形式读取属性中的任何内容,但是通过scope访问时,您可以从双向数据绑定中获益。无论如何,我希望这是一个有用的答案。(对不起,我的英语不好)很遗憾,海报上没有解释就写下了这个问题。希望下次该人提出问题时,有人会给他们应得的答案:——)
app.directive('markdown', function () {
    var converter = new Showdown.converter();
    return {
        restrict: 'E',
        link: function (scope, element, attrs) {
            var htmlText = converter.makeHtml(attrs.abc);
            element.html(htmlText);
        }
    }
});
    app.directive('markdown', function () {
        var converter = new Showdown.converter();
        return {
            restrict: 'E',
        scope: {
                    abc: '=abc'
                }
            link: function (scope, element, attrs) {
               scope.$watch('abc',function(newvalue){
                 element.html(newvalue);
               });

            }
        }
    });