2015-09-05 83 views
1

我已经接受变量的指令......

scope: { 
      tasks: '=' 
     } 

我这样做...

compiled = $compile(template)(scope); 
element.append(compiled); 

如何设置的任务关于指令的争论?

感谢

+0

我们可能还需要查看模板才能正确回答这个问题。我可以说的是,模板需要类似'<... ng-tasks =“expression”>“才能正常工作。 – tcooc

+1

*“我如何在指令中设置任务参数?”*这是什么意思? – dfsq

+0

@dfsq在指令中隔离作用域的目的是允许参数化,可重用的指令。在这方面,类比于一个函数的论点使用“论证”一词并不是根本不合适的。 – jrsala

回答

1

首先,你的模板必须有中的一个元素,上面有你的指令,因此,例如,

var template = '<div my-directive></div>'; 

其次,该元素也必须有一个属性,其名称是在指令的隔离范围定义一个指定的,与驼峰由其他情况下用破折号替换:

// If you used the simple syntax { tasks: '=' } 
var template = '<div my-directive tasks="something"></div>'; 

// If you used the syntax { tasks: '=fancyName' } 
var template = '<div my-directive fancy-name="something"></div>'; 

最后,编译模板$compile(template)必须使用scope进行评估,其中有something属性!应该是这样,希望我没有忘记任何事情。

+0

非常感谢你!!!!!!!!!!!! – Sanders