Javascript 为什么不是';在AngularJS中更新数据标题属性?
我正在使用AngularJS和Bootstrap的popover。我可以成功绑定到Javascript 为什么不是';在AngularJS中更新数据标题属性?,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,我正在使用AngularJS和Bootstrap的popover。我可以成功绑定到数据内容,但不能绑定到数据标题: <li data-trigger="hover" data-placement="bottom" data-title="{{'Memory limit' | l10n}}" data-content="{{'Memory available for the execution of one testcase, measured in MiB.' | l10n}}">
数据内容
,但不能绑定到数据标题
:
<li data-trigger="hover" data-placement="bottom" data-title="{{'Memory limit' | l10n}}" data-content="{{'Memory available for the execution of one testcase, measured in MiB.' | l10n}}">
<a><i class="fa fa-stack-overflow fa-lg"></i> {{task.memory_limit}} MiB</a>
</li>
{{task.memory_limit}}MiB
此代码生成:
但是,从开发工具中,我可以看到
data title=“Limite di memoria”
是这样工作的,所以我真的不明白为什么它没有更新到实际视图。另外,从开发工具中,我可以看到有两个我不知道的空的新属性(数据原始标题
和标题
)。这是因为每当启动Popover JavaScript执行时,都会读取该属性,这是在绑定更新之前
如果您想使用该功能,您要么必须滚动您自己的指令,要么找到一个。有一个您可能可以使用的Popover实现。这是因为每当启动Popover JavaScript执行时,即在Angular更新该绑定之前,都会读取该属性 如果您想使用该功能,您要么必须滚动您自己的指令,要么找到一个。有一个您可能可以使用的Popover实现。我有
data-toggle="tooltip" data-placement="left" data-title="'global.passwrules' | translate : {passwlen : user.user.passwLen}"
但是,在从数据库读取user.user.passwLen
之前,先计算数据标题
。因此我重写了tooltip.js
并添加了timeout
旧的工具提示.js
directivesModule
.directive('toggle', function($timeout){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$timeout(function() {
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
},0);
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
directivesModule
.directive('toggle', function(){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
到我的工具提示.js
directivesModule
.directive('toggle', function($timeout){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$timeout(function() {
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
},0);
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
directivesModule
.directive('toggle', function(){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
我有
但是,在从数据库读取user.user.passwLen
之前,先计算数据标题
。因此我重写了tooltip.js
并添加了timeout
旧的工具提示.js
directivesModule
.directive('toggle', function($timeout){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$timeout(function() {
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
},0);
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
directivesModule
.directive('toggle', function(){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
到我的工具提示.js
directivesModule
.directive('toggle', function($timeout){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$timeout(function() {
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
},0);
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
directivesModule
.directive('toggle', function(){
return {
link: function(scope, element, attrs){
if (attrs.toggle=="tooltip"){
$(element).attr( 'title', scope.$eval(attrs.title));
$(element).tooltip();
}
if (attrs.toggle=="popover"){
$(element).popover();
}
}
};
});
您使用的是stock bootstrap JS库还是AngularStrap或AngularStrap等端口?@MikeRobinson:stock bootstrap.min.JS(版本3.0.3)您使用的是stock bootstrap JS库还是AngularStrap或AngularStrap等端口?@MikeRobinson:stock bootstrap.min.JS(版本3.0.3)谢谢,我尝试包装popover启用调用
$(…).popover()使用$timeout
调用(零延迟)编码>,现在它可以工作了。谢谢,我尝试过包装popover启用调用$(…).popover()
使用$timeout
调用(零延迟),现在它可以工作了。