Angularjs 如何在每次输入属性更改时对函数进行指令调用?
我的HTML中有以下内容: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来处理新值?您在变量上放置了一个手表: 您的答案有一些语法错误,
<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);
});
}
}
});