我正在尝试将文本输入绑定到指令中的属性,原因是我不想每次添加此类型的新指令时都要引入控制器。这是否可行,或者在使用ng-model时总是必须指定控制器。代码示例胜过千言万语,请查看http://codepen.io/scottwio/pen/HKqiw。当您输入输入时,金额应该更改。
答案 0 :(得分:1)
您的代码存在两个问题:
scope.$watch(attrs.amount, function (v) {...});
< =>
scope.$watch('100', function (v) {...});
这永远不会改变,所以不能做你想做的事。
由于elements属性永远不会改变,function draw(aniTime) { var amount = attrs.amount;
不是那么有用。
您可以像这样修理它们:
scope.$watch('amount', function (v) {...});
和
function draw(aniTime) {
var amount = scope.amount;
...
另请参阅此 short demo 。
<子> 如果要与父作用域共享指定的数量,则需要设置双向数据绑定并在父作用域中指定要绑定的属性。 E.g:子>
// Parent scope
$scope.someAmount = 100;
// In HTML
<custommarc amount="someAmount" ...
// In directive
scope: {
amount: '='
...