我们可以在Facelets页面中包含angularjs组件

时间:2013-08-21 11:22:46

标签: jsf angularjs facelets

我是angularjs的新手,并试图在Facelets文件中创建一个示例angularjs。但是我在Eclipse IDE中的行<html ng-app>中收到错误。该错误指定ng-app属性后面应跟=个字符。是否不能在Facelets XHTML文件中包含angularjs代码?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:ng="http://angularjs.org" ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
<hr>
<h1>Hello {{yourName}}!</h1>
</div>
</body>
</html>

4 个答案:

答案 0 :(得分:3)

看看以下内容:

  1. 尝试角脸:https://github.com/stephanrauh/AngularFaces
  2. 还有一个项目:https://github.com/pankajtandon/PointyPatient
  3. 素数面指的是:http://angularprime.appspot.com/#/main
  4. 最好的方法是使用HTML&amp; JS作为客户端,服务器端的JAX-RS。

    我有类似的问题,Primefaces和Bootstrap,并且确信,JS&amp;目前的HTML更适合客户端开发。

答案 1 :(得分:0)

将属性赋予ng-app。

属性的值与包含angular.module()的返回值的变量的名称相同。

代表: NG-应用= “SampleApp”
在html页面

var SampleApp = angular.module(“SampleApp”,[“ngResource”])。 配置(

//你的代码

);

app.js文件中的

我认为这应该适合你。

逻辑是,当你定义ng-app时,它会提供对app.js的特定模块的引用,这些模块将调用相关的控制器。

答案 2 :(得分:0)

angularjs中有一个app.js文件。这包含所有控制器定义。这些控制器充当html(我们的视图)和.cs(mvc控制器)文件之间的连接器和数据管道器。

这些控制器在模块中定义(正如我在上面的答案中定义的那样)。

app.js中可以有很多模块。因此他们将拥有众多控制人员。

ng-app是一个指令,其中包含要用作属性的模块的名称。 定义的ng-app将一直处于活动状态,直到定义的标记的结束标记为止。这意味着如果您在html标记中定义了ng-app,它将一直有效,直到html标记关闭,如果在div中,它将适用于该分区。

如果你没有得到任何东西,谷歌,或参考angularjs文档,或拍我一个问题。!!

我希望你能得到一些东西。: - )

答案 3 :(得分:0)

在搜索自己时偶然发现了这一点。

XHTML不允许没有值的属性。虽然你可以在Eclipse中忽略这一点,但是最新的JSF库会爆炸,你会得到一个例外。

指定一个值,该值对应于您的模块名称。例如,如果使用以下命令初始化角度模块:

var myAppModule = angular.module('myApp', []);

然后你需要指定:

<html ng-app="myApp">

所有应该是好的减去eclipse中的一些警告,因为没有识别“ng-app”。适合我。此外,您可能需要HTML 5 doc类型而不是您所拥有的严格。尝试:

<!DOCTYPE html>
<html ng-app="myApp">