Javascript Angular.js:在$watch中使用颜色代码
如何在字符串变量中使用颜色代码并将此变量链接到$watch表达式Javascript Angular.js:在$watch中使用颜色代码,javascript,angularjs,watch,lexer,Javascript,Angularjs,Watch,Lexer,如何在字符串变量中使用颜色代码并将此变量链接到$watch表达式 $scope.$watch($scope.backgroundTextColor, function(){ // code inside function }); 通过示例代码,我得到了下一个错误: "Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 0-0 [#] in expression [#9c5c5c]...
$scope.$watch($scope.backgroundTextColor, function(){
// code inside function
});
通过示例代码,我得到了下一个错误:
"Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 0-0 [#] in expression [#9c5c5c]...
不要将变量按原样放入
$watch
表达式中,而是尝试返回变量值:
$scope.$watch(function() { return $scope.backgroundTextColor }, function() {
// code inside function
});
我更喜欢使用变量本身,而不是它的HTML字符串表示形式(
backgroundTextColor
),这样您对视图更不可知。与其将变量按原样放置在$watch
表达式中,不如尝试返回变量值:
$scope.$watch(function() { return $scope.backgroundTextColor }, function() {
// code inside function
});
我更喜欢使用变量本身,而不是它的HTML字符串表示形式(
backgroundTextColor
),这样您对视图更不可知。您传递的是$scope.backgroundTextColor
您需要传递变量的名称,例如
$scope.$watch('backgroundTextColor', function(newValue, oldValue){
// code inside function
});
查看一下您正在传递
$scope.backgroundTextColor的值
您需要传递变量的名称,例如
$scope.$watch('backgroundTextColor', function(newValue, oldValue){
// code inside function
});
请看一看您正在尝试使用一个神奇的字符串 Angular中的
$watch
函数可以接受一个返回您要查看的值的函数,也可以接受一个引用您要查看的变量的字符串(魔术字符串)
字符串将引用变量,就像您在HTML中一样。因此,如果您使用的是$scope
(看起来是这样),您需要:
$scope.$watch('backgroundTextColor', function(newValue, oldValue){
// code inside function
});
如果您为控制器设置了别名(例如使用ControllerAs
),则需要参考:
$scope.$watch('ctrl.backgroundTextColor', function(newValue, oldValue){
// code inside function
});
否则,您可以使用以下函数:
$scope.$watch(function() {
return $scope.backgroundTextColor;
}, function(newValue, oldValue){
// code inside function
});
你在尝试使用一个神奇的字符串 Angular中的
$watch
函数可以接受一个返回您要查看的值的函数,也可以接受一个引用您要查看的变量的字符串(魔术字符串)
字符串将引用变量,就像您在HTML中一样。因此,如果您使用的是$scope
(看起来是这样),您需要:
$scope.$watch('backgroundTextColor', function(newValue, oldValue){
// code inside function
});
如果您为控制器设置了别名(例如使用ControllerAs
),则需要参考:
$scope.$watch('ctrl.backgroundTextColor', function(newValue, oldValue){
// code inside function
});
否则,您可以使用以下函数:
$scope.$watch(function() {
return $scope.backgroundTextColor;
}, function(newValue, oldValue){
// code inside function
});
而函数的内部是什么呢?//函数的内部是什么呢?你必须再多给我们看一点,不能帮你处理$scope。$watch('backgroundTextColor',function(){//code inside function});而函数的内部是什么呢?//函数的内部是什么呢?你必须再给我们看一点,不能帮你处理$scope。$watch('backgroundTextColor',function(){//函数内的代码});回答很好!成功了!当我在引号之间写变量名,在应用程序中更改颜色时,调试器停止在watch函数内。非常感谢!回答很好!成功了!当我在引号之间写变量名,在应用程序中更改颜色时,调试器停止在watch函数内。非常感谢!