gpt4 book ai didi

javascript - 更改指令中的范围值

转载 作者:行者123 更新时间:2023-12-02 17:54:46 25 4
gpt4 key购买 nike

通过指令分配新值的最佳方式是什么?两种方式的数据绑定(bind)。

我尝试过这里有一个 fiddle 。 http://jsfiddle.net/user1572526/grLfD/2/ 。但这不起作用。

我的指令:

myApp.directive('highlighter', function () {
return {
restrict: 'A',
replace: true,
scope: {
activeInput: '='
},
link: function (scope, element, attrs) {
element.bind('click', function () {
scope.activeInput = attrs.setInput
})
}
}
});

还有我的 Controller :

function MyCtrl($scope) {
$scope.active = {
value : true
};
}

我的观点:

<h1 highlighter active-input="active.value" set-input="false">Click me to update Value in scope: {{active}}</h1>

所以我想做的是使用给定的属性 setInput 更新scope.active。

知道我在这里做错了什么吗?

最佳答案

使用 element.bind 你离开了 Angular 的领域,所以你需要告诉 Angular 发生了一些事情。您可以使用 scope.$apply 函数来完成此操作:

scope.$apply(function(){
scope.activeInput = attrs.setInput;
});

这是一个updated jsfiddle .

关于javascript - 更改指令中的范围值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21046699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com