我正在使用@
范围配置将字符串传递给我的isolated指令,希望能够将该字符串作为范围上的对象获取,然后可以为其分配值。
HTML
<div directive model="object.property.property"></div>
JS
directive('directive', function($parse) {
scope: {
model: '@'
},
link: function (scope, elem, attrs) {
var object = $parse(scope.model);
object(scope);
scope.object.property.property = 'newstring';
// scope.object.property.property = 'newstring';
}
});
我希望这会让object.property.property
获得值newstring
的范围$parse
。
我似乎没有正确使用$parse
服务,但我发现的大多数示例都与使用<?php echo get_permalink() . '?order=time' ?>
转换JSON有关。如何使用parse将此字符串转换为指令范围内的对象?
谢谢!
答案 0 :(得分:1)
这是你在找什么?
app.directive("mainDir", function($parse) {
return {
restrict: 'AE',
scope: {
model: '@'
}
template: '<div> hello: {{model}} </div>',
link: function(scope, el, attrs) {
el.on('click', function(evt) {
evt.stopPropagation();
evt.preventDefault();
var object = $parse(attrs.model);
scope.$apply(function() {
object(scope);
});
object = 'new string';
scope.model = object;
})
}
}
})
用法:
<div main-dir model="object.property.property"></div>