Javascript 角度隔离范围和属性
在下面的例子中: 我正在尝试将属性绑定到隔离作用域。然而,它不起作用。我想知道是否有人知道这是为什么 我查阅了一些资源,包括:Javascript 角度隔离范围和属性,javascript,angularjs,data-binding,angularjs-scope,angular-directive,Javascript,Angularjs,Data Binding,Angularjs Scope,Angular Directive,在下面的例子中: 我正在尝试将属性绑定到隔离作用域。然而,它不起作用。我想知道是否有人知道这是为什么 我查阅了一些资源,包括: 并且您将隔离范围指定为 scope: { attr: "=attributeName" } 这样做的目的是将html中指定的attributeName的值作为作用域中的表达式,并将其绑定到指令作用域中的attr。但是您所做的只是指定了“hello”,而没有在您的作用域中指定hello对象。要使其按现在的方式工作,必须使用@属性绑定,如下所示: scope: {
并且您将隔离范围指定为
scope: {
attr: "=attributeName"
}
这样做的目的是将html中指定的attributeName
的值作为作用域中的表达式,并将其绑定到指令作用域中的attr
。但是您所做的只是指定了“hello”
,而没有在您的作用域中指定hello
对象。要使其按现在的方式工作,必须使用@
属性绑定,如下所示:
scope: {
attr: "@attributeName"
}
您需要做的另一个更改是如何在html中指定值。定义属性时使用titleCase,但在html而不是titleCase中,需要用破折号分隔“单词”,并使用所有小写字母。因此attributeName
变成attributeName
<node attribute-name="hello"></node>
另一方面,如果您确实希望绑定到范围中对象的值,那么请确保在范围中指定它,然后可以在指令()中使用它
我已经更新了您的应用程序,向您展示了它们是如何工作的