Javascript 如何在指令HTML块中放置一个变量,并让控制器访问它?
我有一个指令,将HTML块放到页面上。在该块中,我需要有一个变量,可以根据控制器中的Javascript 如何在指令HTML块中放置一个变量,并让控制器访问它?,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我有一个指令,将HTML块放到页面上。在该块中,我需要有一个变量,可以根据控制器中的ng click函数访问和更改该变量 我的指示: .directive('sendModal', function () { return { restrict: 'E', template: '<div ng-click="switchCurrency()">'+currency+'</div>' }; }); 我的错误:参考错误:未定
ng click
函数访问和更改该变量
我的指示:
.directive('sendModal', function () {
return {
restrict: 'E',
template: '<div ng-click="switchCurrency()">'+currency+'</div>'
};
});
我的错误:参考错误:未定义货币
如何在我的指令HTML中设置名为
currency
的变量?并允许从控制器访问它?{{{currency}}
vs'+currency+'
这是可行的,当它编译时,它可以变成一个变量我不明白。这是对您问题的回答吗?为什么不在指令中共享一个作用域,例如
作用域:{currency:'='}
?然后在控制器中更改货币,它将反映在指令中。它比你的解决方案更干净。
vm.$parent.switchCurrency = function() {
console.log('clicked switchCurrency');
if (currency === 'USD') {
currency = 'BTC';
} else {
currency === 'USD';
}
};