将数据从视图发送到控制器,然后发送到另一个视图。

15 浏览
0 Comments

将数据从视图发送到控制器,然后发送到另一个视图。

我在试图将一个变量发送到控制器,然后在另一个视图中使用这个变量。

View1.html

var cat = 5;

Controller.js

//获取cat=5的那个变量

View2.html

//也从控制器获取cat=5的变量

View2.html必须检查变量cat=5是否已从View1.html更改,以便在View2.html中更改一些链接。

尝试使用ng-init,但无法将变量放在其值内,我正在尝试传递的值是我从UrlParameter获取的变量。

还尝试使用发布-订阅通道。但是两个视图同时加载,View2.html在设置之前尝试从View1.html获取值。

还尝试使用$scope和ng-model,使用隐藏输入字段,但显然仅在键入值时获取值,因此,如果我直接分配一个值,则不会保存。

这是我现在拥有的:

view1.html

$('.listaPromociones').append
    ('{{newCategory}}...

JS

 $scope.categoryId= $scope.newCategory;

view2.html

var link = 'http://localhost/principal.html?cat={{categoryId}}';

如果需要更多的代码,请告诉我:

http://embed.plnkr.co/Gfwh4SKnJSnyl59jTw3j/

admin 更改状态以发布 2023年5月21日
0
0 Comments

1.不要混合使用angular和jQuery操作DOM元素,这不是angular的方式,可能会引起冲突、错误和问题。

2.不要在所有地方混合使用脚本和链接标签,这不是一个好的实践方法。

现在要解决你的问题,你可以做两件事情:要么创建一个服务,持久化你的值并监测值的变化以自定义你想要的行为,要么将这个变量绑定到根作用域,同时监测这个值以在变化时触发回调函数...

0
0 Comments

\n\n你在两个视图中使用同一个控制器吗?如果是的话,你可以在视图2中引用这个变量,但这不是一个好的做法,你应该创建另一个与视图2绑定的控制器,你可以使用服务或者通过参数在它们之间共享这个值。如果我理解你的问题的话,这是我的看法。

0