Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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 指令中的AngularJS指令未设置范围值_Javascript_Angularjs_Directive - Fatal编程技术网

Javascript 指令中的AngularJS指令未设置范围值

Javascript 指令中的AngularJS指令未设置范围值,javascript,angularjs,directive,Javascript,Angularjs,Directive,我有一个控制器,具有$scope.colorHex值 例如,我有指令colorpockertooltip,在模板中我调用另一个指令: 然后在第二个指令(colorpocker)中设置控制器的值: scope.colorHex='#cececece' 然后在第二个指令中,我调用了methodscope.doIt(),但出现了一些问题: 我的$scope值未更新!但是为什么,也许是因为我的两级指令 如何设置控制器变量值?是的,这是两级指令范围的问题。请阅读 将控制器中的colorHex定义为如下对象

我有一个控制器,具有
$scope.colorHex

例如,我有指令
colorpockertooltip
,在模板中我调用另一个指令:

然后在第二个指令(
colorpocker
)中设置控制器的值:

scope.colorHex='#cececece'

然后在第二个指令中,我调用了method
scope.doIt()
,但出现了一些问题:

我的
$scope
值未更新!但是为什么,也许是因为我的两级指令


如何设置控制器变量值?

是的,这是两级指令范围的问题。请阅读

将控制器中的
colorHex
定义为如下对象:

$scope.dataStore = {};
$scope.dataStore.colorHex = '#cecece';
然后将第一条指令修改为:

<colorpicker ng-model="dataStore.colorHex"></colorpicker>

是的,这是两级指令范围的问题。请阅读

将控制器中的
colorHex
定义为如下对象:

$scope.dataStore = {};
$scope.dataStore.colorHex = '#cecece';
然后将第一条指令修改为:

<colorpicker ng-model="dataStore.colorHex"></colorpicker>

第二个指令复制第一个指令中的值,并在第二个范围中创建一个新对象。 您可以通过使用目标结构(如

$scope.color= {hex=undefined};
并在内部范围内进行更改

$scopescope.color.hex = '#cecece';

它将阻止第二个指令复制第一个指令中的值,并在第二个范围中创建新对象。 您可以通过使用目标结构(如

$scope.color= {hex=undefined};
并在内部范围内进行更改

$scopescope.color.hex = '#cecece';

它将防止这种情况发生

您可以将代码放入plunker吗?可能的重复项您可以将代码放入plunker吗?可能的重复项