我有一个验证信用卡luhn和长度的指令。作为数字的验证者,它的效果非常好。使用的算法基于jquery插件(sans jquery),它也将卡片类型返回给我。最终结果类似于
{
luhn_valid: true,
length_valid: true
card_type: {
name: 'visa'
}
}
所以它给了我卡片类型名称。我想将其分配给不同的模型变量,以便我可以将卡类型和卡号传递给REST api以添加卡。问题是我不知道如何访问未声明与指令关联的模型。
<input type="text" name="cardNumber" ng-model="cardCtrl.form.inputs.cardNumber"
credit-card-validator card-type-model="cardCtrl.form.inputs.cardType">
在上面的例子中,我添加了一个额外的属性来将模型名称传递给指令。我已经将$ scope传递给了该指令,并且可以看到cardCtrl是$ scope的子节点,所以我觉得我应该可以从中获取模型,但我不确定最好的方法。
关于访问其他模型的最佳方式的想法?
答案 0 :(得分:2)
在指令控制器中,通过调用$scope.$parent.'ParentControllerVariableName'
,您可以从指令中获取控制器范围变量的值,但这不是一个好习惯。
您可以创建工厂并在工厂方法中设置值并定义get方法。将此工厂注入您的指令并从工厂获取值。