【问题标题】:Pass value of ng-src to ng-model - AngularJs Signature Directive将 ng-src 的值传递给 ng-model - AngularJs 签名指令
【发布时间】:2018-06-05 14:28:41
【问题描述】:

我有一个带有Angular Signature 指令的应用程序。

此指令允许您在画布中绘制标志,此画布的内容呈现在<img>标签(base64)中

<div class="container">
    <signature-pad
        accept="accept" clear="clear"
        height="220" width="568"
        dataurl="dataurl">
    </signature-pad>

    <div class="buttons">
        <button ng-click="signature = accept()">Generate</button>
    </div>

</div>

<div class="result" ng-show="signature">
    <img ng-src="{{signature.dataUrl}}" />
</div>

图片base64在{{signature.dataUrl}},它生成的图片base64非常精细。

我想将 ng-src 的值传递给 ng-model。我试过这样做。

<div class="result" ng-show="signature">
    My ng-model (in my controller)  : {{mySign}}
    <img ng-model="mySign" ng-src="{{signature.dataUrl}}" class="imagen-firma" />
</div>

在我的控制器中我已经初始化了:

$scope.mySign = "";

但是 ng-src (base64) 的值不会传递给我的 ng-model。 我该怎么做?

【问题讨论】:

  • ng-model="signature.dataUrl"?
  • 但 ng-model="signature.dataUrl" 不在我的控制器中,ng-model="signature.dataUrl" 是指令的一部分
  • 如果 signature.dataUrl 是动态填充的,那么在函数中执行它(我猜)accept()。例如$scope.mySign = $scope.signature.dataUrl
  • 但是@AlekseySolovey,$scope.signature.dataUrl 不在我的控制器中,signature.dataUrl 来自指令,你能解释一下如何可以在我的控制器中对 signature.dataUrl 做些什么。
  • @ELM 我不熟悉指令到控制器的通信,我认为您需要通过指令的范围绑定控制器的变量。或者,您可能想要使用服务,就像在控制器到控制器的通信中一样

标签: javascript angularjs ionic-v1


【解决方案1】:

img 标签不支持 ng-model 指令,使用 ng-init 指令进行绑定。

<div class="result" ng-show="signature">
    My ng-model (in my controller)  : {{mySign}}
    <img ng-src="{{signature.dataUrl}}" ng-init="mySign = " class="imagen-firma" />
</div>

【讨论】:

  • 我相信ng-init会在控制器加载时触发,但signature是从函数动态生成的,所以它永远是未定义的
猜你喜欢
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
  • 1970-01-01
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
相关资源
最近更新 更多