我我写的通用滑块指令对我的应用程序,我需要指定例如在HTML代码中的控制按钮是这样的:获取属性为对象属性到指令AngularJs
<div class="slide-wrapper" data-sample-values="{prevbtn: '.previous', nextbtn: '.next'}"></div>
我怎样才能得到这个值作为对象属性的指令,例如?
或者也许有另一种方式来做可重复指令?我怎么能从父范围中分离出这些元素?
我我写的通用滑块指令对我的应用程序,我需要指定例如在HTML代码中的控制按钮是这样的:获取属性为对象属性到指令AngularJs
<div class="slide-wrapper" data-sample-values="{prevbtn: '.previous', nextbtn: '.next'}"></div>
我怎样才能得到这个值作为对象属性的指令,例如?
或者也许有另一种方式来做可重复指令?我怎么能从父范围中分离出这些元素?
myApp.directive('slideWrapper', function() {
return {
restrict: 'C',
scope: { getValues: '&sampleValues' }, // creates an isolate scope
link: function(scope, element, attrs) {
var values = scope.getValues(); // evaluates expression in context of parent scope
...
}
}
})
做这样的事情:
scope.$watch(function() { return scope.$eval(attrs.sampleValues); }, function (newValue) {...});
对不起,目前尚不清楚这是如何帮助,特别是对于已经选定的答案。你能详细说明这是什么或你想要达到什么目的吗? – Scott 2014-11-23 22:39:38
通过这种方式,您不需要创建新的隔离范围以从属性中获取值。 – steamrunner 2014-11-26 16:34:11
从角文档:指令'scope'属性:如果设置为{}(对象哈希) - 然后创建一个新的 '隔离' 的范围。 'isolate'范围与正常范围不同,因为它不会从父范围原型继承。这在创建可重用组件时非常有用,它不应该意外读取或修改父范围中的数据。 http://docs.angularjs.org/guide/directive – 2013-02-21 02:20:22
谢谢一切正常,因为它是必要的。 – falloff 2013-02-21 13:29:37
为什么我不能只使用=绑定的对象表达式?我不断收到摘要错误。但这太棒了! – CMCDragonkai 2013-08-20 14:55:32