我将两个绑定传递给自定义角度v1.4.3指令。
我已经创建了一个函数来使用字符串来获取数据,但它打破了双向绑定,因为我对该弹出数据所做的任何更新都与绑定模型Object分开。
我用来查找带有字符串键的对象的函数是:
Object.resolve = function (path, obj, safe) {
return path.split('.').reduce(function (prev, curr) {
return !safe ? prev[curr] : (prev ? prev[curr] : undefined)
}, obj || self)
}
vm.data = Object.resolve(vm.lookUp, vm.model); // finds the data I need to display and edit but breaks the binding to vm.model
这是一种更有棱角的方式来做到这一点并保持绑定?
答案 0 :(得分:0)
app.directive('test', function($parse) { return { restrict : 'E', scope : { model : '=', lookUp : '@' }, template : 'Result is : {{result}}', link : function(scope, elem, attrs) { function getResult() { return $parse('model' + scope.lookUp)(scope); } scope.$watch(getResult, function() { scope.result = getResult(); }); } } })