Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在html中编写javascript代码好吗?_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

在html中编写javascript代码好吗?

在html中编写javascript代码好吗?,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我目前正在使用angular js路由概念,并创建了两个html文件,当单击某些选项时,我的页面应该路由到这两个文件 在我的主要html代码中,我包含了ng视图 <div ng-view> </div> 第一个html文件 <h1>This is the first file</h1> <script> $(document.ready(function(){ $('h1').click(functio

我目前正在使用angular js路由概念,并创建了两个html文件,当单击某些选项时,我的页面应该路由到这两个文件

在我的主要html代码中,我包含了
ng视图

<div ng-view>
</div>

第一个html文件

<h1>This is the first file</h1>
<script>
     $(document.ready(function(){
         $('h1').click(function(){
             $(this).css("color",'red');
        )
</script>
这是第一个文件
$(document.ready(function()){
$('h1')。单击(函数(){
$(this.css(“颜色”,“红色”);
)
第二档

<p>This is second file</p>
这是第二个文件

当我在第一个html文件中包含jquery代码时,一切正常

我只是想知道,在html代码中包含任何javascript代码是否是正确和良好的过程

添加jquery库

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>



$(document).ready(function(){
         $('h1').click(function(){
             $(this).css("color",'red');
        });
        });

$(文档).ready(函数(){
$('h1')。单击(函数(){
$(this.css(“颜色”,“红色”);
});
});

将行为和表示合并到同一个文件中是有效的,但不是一个好主意,因为它违反了应用程序中关注点的分离,而关注点的分离等等是我们选择angularJs的原因。尽管它可以很好地工作。这有很多缺点,例如:

  • 增加页面重量
  • 缩小的难度(或可能不可能)
  • 无法迁移或用于其他页面
  • 无法缓存(每次加载页面时都需要下载)
  • 无法缓存(每次加载页面时都需要下载)
  • 不分离关注点(更难维护)
  • 由于您使用的是angularJS,因此需要注意以下几点: 1.客户端业务逻辑位于注入到指令\控制器的服务中。 2.用户界面逻辑假定放置在控制器中。 3.使用指令进行DOM操作

    控制器应该包含视图逻辑,但不应该实际引用DOM(只应该通过指令来引用DOM)


    因此,让应用程序可读、可维护、可测试等的扩展程度取决于您。

    为什么不使用单独的js文件?我尝试在单独的js文件中编写js代码,但在执行时找不到选择器,但当我将代码包含在相同的html代码中时,它工作得非常好。在就在正文标签关闭之前结束文件。我会尝试这样做,谢谢@Mairaj@Harish:如前所述,您正在尝试使用angular进行路由,在项目中根本不包括jQuery。请使用angular
    ng click
    指令。