Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在指令HTML块中放置一个变量,并让控制器访问它?_Javascript_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

Javascript 如何在指令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>' }; }); 我的错误:参考错误:未定

我有一个指令,将HTML块放到页面上。在该块中,我需要有一个变量,可以根据控制器中的
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';
    }
};