angularjs 如何 *** 作某个DOM,实现兄弟元素隐藏和切

angularjs 如何 *** 作某个DOM,实现兄弟元素隐藏和切,第1张

对于隐藏一般是使用ng-class或者ng-show/ng-hide去实现的

通过ng-class或者ng-show/ng-hide所绑定的值的改变直接隐藏或者显示

angularjs 是mvc架构的框架,不推荐直接 *** 作DOM,而是通过Model - Controller - View的形式绑定,通过改变值,借助控制器改变显示。

在angular渲染完dom以后执行js代码的方法是使用init方法完成dom初始化,同时控制器中写入需要执行的js代码即可。

1、html代码:

<div

data-ng-controller="myCtrl"

data-ng-init="init()"></div>

2、定义的angularjs方法如下:

$scopeinit

=

function

()

{

if

($routeParamsId)

{

//创建一个新对象的js代码

createElement();

}

else

{

//创建一个新对象的js代码

createElement();

}

$scopeisSaving

=

false;

}

$scopeinit();

如果你说的是在JS中添加属性

那么就跟原生JS代码一样 通过ID获取节点 然后添加属性

angularJS的 *** 作重点不在节点而是数据

所以普通的节点 *** 作一般都是使用原生JS

如果你一定要用JQ 安装好JQ插件后也可以使用JQ

在angularjs中获取元素的id的方法:

<div id="{{ 'object-' + myScopeObjectindex }}"></div>

这样实际解析后的代码:

<div id="object-1"></div>

这样的id就可以通过document获取了。

1 $render用处就是:

  在$viewValue改变的时候可以重新绑定model数据,主要使用在自定义指令的时候,但是我们要注意一点在$viewValue改变的时候可以重新绑定model数据,

  但是我们要注意一点($viewValue和DOM节点的value是不同的),我觉得他们的区别有点类似setTimeout和$timeout的区别,但是又不太一样。

  ps:其实modelValue和绑定的数据也可以不同

2ngModelController则是ng-model指令中所定义的controller,

  在ngModelController中有两个很重要的属性,一个叫做$viewValue,一个叫做$modeValue。

  $viewValue:指令渲染模板所用的值,$viewValue属性保存着更新视图所需的实际字符串

  $modeValue:指控制器中流通的值,modelValue由数据模型持有。$modelValue和$viewValue可能是不同的,取决于$parser流水线是否对其进行了 *** 作。

  于此相关的另外两个指令:$parses和$formatters

  $parses的作用是:将$viewValue->$modelValue

  $formatters的作用是:将$modelValue->$viewValue

3$apply的作用: $apply()函数可以从Angular框架的外部让表达式在Angular上下文内部执行,Scope提供$apply方法传播Model的变化。

              在apply()方法里面,它会去调用scopedigest()方法,apply()方法带一个函数或者一个表达式,然后执行它,

  最后调用scopedigest()方法去更新bindings或者watchers。

  $apply()方法可以在angular框架之外执行angular JS的表达式。

  在$apply方法中提到过脏检查,首先apply方法会触发evel方法,当evel方法解析成功后,会去触发digest方法,digest方法会触发watch方法

  scopedigest(): 用于检查绑定的数据到底有没有发生变化。

4watch方法用法:

语法:

$watch(watchFn,watchAction,deepWatch)

三个参数:

watchFn:angular表达式或函数的字符串

watchAction(newValue,oldValue,scope):watchFn发生变化会被调用,是一个函数

deepWatch:可选的布尔值命令检查被监控的对象的每个属性是否发生变化

$watch会返回一个函数,想要注销这个watch可以使用函数,true/false

5angularJS——自定义服务provider之$get

  可以认为provider有三个部分:

  第一部分是私有变量和私有函数,这些变量和函数会在以后被修改。

  第二部分是在appconfig函数里可以访问的变量和函数,所以,他们可以在其他地方使用之前被修改。注意,这些变量和函数一定要添加到this上面才行。

  第三部分是在控制器里可以访问的变量和函数,通过$get函数返回。

  当使用 provider创建服务的时候,唯一可以让控制器访问的属性和方法是在$get()函数里返回的属性和方法。

  使用Provider的优点就是,你可以在Provider对象传递到应用程序的其他部分之前在appconfig函数中对其进行修改。

  当你使用Provider创建一个service时,唯一的可以在你的控制器中访问的属性和方法是通过$get()函数返回内容。

  大型数据进行访问的时候许多大型互联网站都是为全球用户提供服务的,

  用户分布范围广,各地网络情况千差万别。在国内,还有各个运营商网络互通难的问题。

  使用在具体的环境中,

6angularjs中的run()方法使用

  run方法用于初始化全局的数据,仅对全局作用域起作用。

例子:

<script type="text/javascript">

  var m1 = angularmodule('myApp',[]);

  m1run(['$rootScope',function($rootScope){

  $rootScopename = 'hello';

  }]);

  consolelog( m1 );

</script>

7config方法

在模块加载阶段,对模块进行自定义配置

config可以注入$stateProvider, $urlRouterProvider, $controllerProvider, $provide, $>

$>$>});

把data赋给你的变量,log一下需要那个字段就显示那个字段好了。

首先你要搞清楚一个概念,iframe中的是“另一个网页”,要想获取其中的DOM元素,就涉及一个跨域的问题,如果当前网页与“另一个网页”是同域(通俗来说就是同一个域名下的不同网页),那么你可以这样来获取(比如说获取body):

documentgetElementsByTagName("iframe")[0]contentDocumentbody

而如果是不同域,比如你在自己的网页用iframe来嵌套百度的首页,那就无法通过上述方法获取了,浏览器会自动拦截,因为这违反了跨域调用的规则(技术上是没问题的,只是违规了),这时候就要通过一些曲折的“民间偏方”来达到目的了,比如通过自己的后台去获取对方网页的内容(这个不会跨域),再发回给前端,具体你自己搜索,这里三言两语说不明白的。

以上就是关于angularjs 如何 *** 作某个DOM,实现兄弟元素隐藏和切全部的内容,包括:angularjs 如何 *** 作某个DOM,实现兄弟元素隐藏和切、如何在angular渲染完dom以后执行js代码、在angularjs怎么给dom节点添加属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9707176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存