如何根据 angularjs 中的选定对象更新 ng-model?
Posted
技术标签:
【中文标题】如何根据 angularjs 中的选定对象更新 ng-model?【英文标题】:How to update ng-model based on selected object in angularjs? 【发布时间】:2018-02-01 13:22:04 【问题描述】:我有一个滑块,如下所示:
<md-slider aria-label="text size" step="1"
ng-change="text.setProperty('fontSize', fontSize)"
ng-model="fontSize" min="1" max="100">
</md-slider>
两个文本被添加到画布。这就是我获取所选文本属性的方式:
canvas.fabric.on('object:selected', function(object)
if (object.target instanceof fabric.Text)
console.log(object.target);
);
object.target 返回一个具有如下属性的对象:object.target.fontSize:126,当然这两个对象的 this 是不同的。
如何轻松更新模型(具有字体大小值的输入字段),以便根据所选对象显示字体大小。现在,如果我选择任何文本对象,它会显示相同的值。谢谢!
【问题讨论】:
【参考方案1】:您需要调用$apply()
来触发$digest
循环,以便您的值在视图中更新。
您可以在控制器中设置fontSize
的值,然后设置$scope.$apply()
,如下所示:
canvas.fabric.on('object:selected', function(object)
if (object.target instanceof fabric.Text)
console.log(object.target);
$scope.fontSize = object.target.fontSize;
$scope.$apply();
);
【讨论】:
我认为这可能很容易。谢谢你!以上是关于如何根据 angularjs 中的选定对象更新 ng-model?的主要内容,如果未能解决你的问题,请参考以下文章