我试图了解Angular.js如何使用simple example。
<div ng-app="">
<p>Input something in the input box:</p>
<p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
<h1>Hello {{name}}</h1>
</div>
有什么方法可以删除所有这些,只需在单独的JavaScript上使用angular吗?
我的意思是能够做类似的事情......
document.getElementsByTagName('input')[0].ng-model = "name";
document.getElementsByTagName('h1')[0].innerHTML = "Hello {{name}}";
或者是否必须与HTML属性进行网格划分?
我找不到任何相关信息。提前谢谢。
答案 0 :(得分:4)
与其他MVVM框架一样,Angular被设计为“突兀”(混合到HTML中),它实际上并不意味着不引人注目地使用。更多关于这个问题及其在programmers.stackexchange.com上的答案:Is obtrusive JavaScript required to support a feature of AngularJS?
这并不意味着你不能。您可以使用代码添加必要的属性,例如之前让Angular在您的DOM上松散。您可以使用manual initialization代替默认的自动初始化,并在bootstrap
调用之前将代码填入属性中来实现:
document.getElementsByTagName('input')[0].setAttribute("ng-model", "name");
document.getElementsByTagName('h1')[0].innerHTML = "Hello {{name}}";
// ...and so on...
angular.bootstrap(document, ['myApp']);
......但这并不是Angular真正意义上的用法。